PAT (Basic Level) Practice | 1009 说反话 (20分)
2020-03-26 08:08
253 查看
1009 说反话 (20分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
[code]Hello World Here I Come
输出样例:
[code]Come I Here World Hello
[code]char a[100]; char b[100]; #include <stdio.h> int main(){ int number = 0; int numberb = 0; scanf("%c",&a[number]); while(a[number] != '\n'){ //把输入的一串字符赋予到a数组里 number ++; scanf("%c",&a[number]); } for(int i = 0; i < number; i++){ //b【】用来记录a数组中空格出现在第几次 if(a[i] == ' '){ b[numberb] = i; numberb ++; } }if(numberb != 0){ for(int i = numberb - 1; i >= 0; i--){ if(i == numberb - 1){ //找到b数组中最后一个记录的数字(也就是输入单词倒数一二中间的空格的位置) for(int j = b[i] + 1; j < number; j++){ printf("%c",a[j]); //输出b后a数组中的字符(保证单词顺序) } } else if(i < numberb - 1 ){ for(int j = b[i]; j < b[i + 1]; j++){ printf("%c",a[j]); //依次输出b后的单词 } } } printf(" "); } if(numberb == 0){ b[0] = number; } for(int i = 0; i < b[0]; i++){ printf("%c",a[i]); //最后输出第一个单词 } return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- PAT (Basic Level) Practice (中文)1009 说反话
- 浙江大学PAT (Basic Level) Practice (中文)1009说反话JAVA实现代码及分析
- PAT(Basic level)Practice 1009 说反话 题解
- PAT (Basic Level) Practice 1009 说反话
- PAT (Basic Level) Practice (中文)1009 说反话
- PAT (Basic Level) Practice 1009 说反话
- Pat(Basic Level)Practice--1009(说反话)
- 1039 到底买不买 (20分) Java题解 PAT (Basic Level) Practice (中文)- 巧妙开大数组减少代码量
- PAT_Basic.Level_1009. 说反话
- PAT (Basic Level) Practise (中文) 1009.说反话
- PAT (Basic Level) Practise (中文) 1009说反话 (20)
- 【C++】浙大PAT (Basic Level)1009. 说反话 (20)
- PAT (Basic Level) Practise (中文)- 1009. 说反话 (20)
- PAT (Basic Level) Practise (中文)1009. 说反话 (20)
- PAT 乙级 (Basic Level) Practice (中文)1009
- PAT (Basic Level) Practice (中文):1007 素数对猜想(20分)
- PAT (Basic Level) Practise 的C++实现-1009. 说反话
- 1018 锤子剪刀布 (20分) Java题解 PAT (Basic Level) Practice (中文)
- 1029 旧键盘 (20分) Java题解 PAT (Basic Level) Practice (中文) - Java最简解法
- PAT Basic Level 1009. 说反话(20)