解法一:
#include<cstdio>
#include<cstring>
int main()
{
char str[90];
fgets(str,89,stdin);//PAT中没有gets函数
char ans[90][90];
int L=strlen(str)-1;//fgets函数会把换行符也读进来,要减一
int r=0,h=0;
for(int i=0;i<L;i++)
{
if(str[i]!=' ')
{
ans[r][h]=str[i];
h++;//可以简写成 ans[r][h++]=str[i];
}
else
{
//ans[r][h]='\0';//注意字符串结尾要加'\0' ,
r++; //要是没加,也没有报错,应该会自动补齐。
h=0;
}
}
for(r;r>=0;r--)
{
printf("%s",ans[r]);
if(r>0) printf(" ");//注意:末尾单词后不需要空格
}
return 0;
}
fget()的使用点这里:fget()的使用。
#include<cstdio>
#include<cstring>
int main()
{
int num;
char ans[90][90];
while(scanf("%s",ans[num])!=EOF)//while(scanf("%s",ans[num++])!=EOF),为什么不行?
num++;
for(int i=num-1;i>=0;i--)
{
printf("%s",ans[i]);
if(i>0) printf(" ");
}
return 0;
}