#include<stdio.h>
#include<stdlib.h>
int main()
{
char string[81][81]={'\0'};
int i=0;
for(i=0;getchar()!='\n';i++){
scanf("%s",string[i]);
}
int j=i-1;
for(j=i-1;j>0;j--){
printf("%s ",string[j]);
}
printf("%s",string[j]);
return 0;
}

PTA乙级1009看看我这个代码为什么错了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- CSDN专家-深度学习进阶 2021-08-22 12:39关注
你错的原因是在输入的时候把第一个字符读入了,导致输出少了一个字符。
如果有帮助请点一下我回答右上方的采纳,谢谢!以后有什么问题可以互相交流。
改正后:#include<stdio.h> #include<stdlib.h> int main() { char string[81][81]={'\0'}; int i=0; char c='1',t; while(c!='\n'){ c=getchar(); if(c=='\n') break; if(i==0) t=c; scanf("%s",string[i]); i++; } int j=i-1; for(j=i-1;j>0;j--){ printf("%s ",string[j]); } printf("%c%s",t,string[j]); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用