思路分析:注意含空格的字符串的输入,还有判断是否等于空格
#include"stdio.h"
#include<stdlib.h>
#include<string.h>
int main()
{
char str[85], str2[85];
int cnt, n = 0;
scanf("%[^\n]]", str); //或cin.getline(str, 10);
cnt = strlen(str);
while (cnt >0) {
int i = 0, j = 0;
while (str[cnt-1] != ' ' && cnt > 0){
cnt--;
i++;
} //如何判断字符是否为空格if (ch == ' ')或 if (ch == 0x20)或if (ch == '\x20')
while (j < i) {
str2[n++] = str[cnt + j];
j++;
}
if(n<strlen(str)) str2[n++] = ' ';
cnt--;
}
str2[n] = '\0';
printf("%s", str2);
return 0;
}
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello