我的思路:
将单词顺序存入字符数组,然后倒序输出
书上思路:
(对比起来,我的思路太不具体了 ̄□ ̄||)
way1
#include<stdio.h>
int main(){
int num=0;
char ans[90][90];
while(scanf("%s",ans[num])!=EOF){
num++;
}
for(int i=num-1;i>=0;i--){
printf("%s",ans[i]);
if(i>0) printf(" ");
}
}
(运行后,输入时,系统并不知道什么时候到达了EOF,需要按Ctrl+Z 然后再按Enter键来告诉系统已经到了EOF。才会结束while语句,继续往下运行)
way2
#include<stdio.h>
#include<string.h>
int main()
{
char str[90];
gets(str);
int len=strlen(str);
int r=0,h=0;//r为行,h为列
char ans[90][90];//存放单词
for(int i=0;i<len;i++){
if(str[i]!=' ')
{
ans[r][h++]=str[i];
}else{
r++;
h=0;
ans[r][h]='\0';
}
}
for(int i=r;i>=0;i--){
printf("%s",ans[i]);
if(i>0) printf(" ");
}
}