1009 说反话 (20)(20 分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
思路:
最简单的办法便是枚举法
code:
#include <cstdio>
#include <cstring>
int main ()
{
int len,i,r =0,h = 0;
char str [90],ans [90][90];
// 枚举法字符串 并储存在二维数组当中
gets(str);
len = strlen(str);
for (i = 0;i <= len;i++){
if ( str[i] != ' '){
ans [r][h++] = str [i];
}
else {
ans [r][h] = '\0';
r++;
h = 0;
}
}
/*
//输出原数组for (i = 0;i <= r;i++){
printf ("%s",ans [i]);
if (i >= 0){
printf (" ");
}
}
printf ("\n");
*/
//倒序输出二维数组的内容for (i = r;i >= 0;i--){
printf ("%s",ans [i]);
if (i > 0){
printf (" ");
}
}
return 0;
}