给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
#include<stdio.h>
#define N 81
int main()
{
char str[N], word[N][N];//word二维数组来记录每一个单词
int i, k=0, m=0;//k-->行下标, m-->列下标
gets(str);//输入中间有空格,用gets输入
for ( i=0; str[i]!='\0'; i++ ) {
if ( str[i]!=' ' ) word[k][m++]=str[i];
else if ( str[i]==' ' ){
word[k][m]='\0';
k++;
m=0;
}
//对应最后一个单词,最后一个单词后面没有' '(空格)
if ( str[i+1]=='\0' ) {
word[k][m]='\0';
k++;
}
}
//格式化输出
for ( i=k-1; i>=1; i-- ) {
printf("%s ", word[i]);
}
printf("%s\n", word[i]);
}
题目:https://pintia.cn/problem-sets/994805260223102976/problems/994805314941992960