1009. 说反话 (20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:Hello World Here I Come
输出样例:
Come I Here World Hello
创建一个数组记录空格的位置,位于两个空格之间的就是单词了。但输出倒数
第一个时,单词的下标在最后一个空格加一和长度减一之间。同样,第一个单词下
标在和第一个空格之间。
注意数组遍历的范围。
#include<stdio.h>
#include<string.h>
char s[105];
int main(){
gets(s);
int lengths = strlen(s);
int kongge[lengths];
int size = 0;
int j = 0;
for(int i = 0;i < lengths; i++){
if(s[i] == ' '){
kongge[j] = i;
size = j;
j++;
}
}
kongge[j] = lengths;
for( ;j > 0; j--){
for(int i = kongge[j - 1] + 1;i < kongge[j]; i++){
printf("%c",s[i]);
}
printf(" ");
}
for(int i = 0;i < kongge[0]; i++){
printf("%c",s[i]);
}
}