1009 说反话 (20分)

题目

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式

测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。

输入样例

Hello World Here I Come

输出样例

Come I Here World Hello

思路

1.先用一个一维数组存储整个英文句子,直接用gets()函数即可。
2.对一维数组进行遍历,遇到空格则把空格之前的单词存入到二维数组里,每遇到一个空格,二维数组就换行存放单词。
3.直到遍历遇到'\n'换行符为止,就结束遍历。然后把二维数组倒序遍历打印出来即可。

代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
  char str1[81];
  char str2[100][80];
  gets(str1);
  int line=0,col=0;
  int i,j,k;
  for(i=0;i<strlen(str1);i++)
 {
    if(str1[i]=='\n')
       break;
    else if(str[i]==' ')
   {
       str2[j][k]='\0';
       j++;
       col=0;
       line++;
    }
    else str2[j][k++] = str1[i];
 }
str2[j][k]='\0';
for(i=line;i>0;i--)
  printf("%s ",str2[i]);
  printf("%s",str2[0]);
return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容