相反输出
时间限制:1000 ms | 内存限制:65535 KB
难度:1
-
描述
- 编写一个程序,将n个整数按相反顺序输出。
-
输入
- 有多组测试数据,以EOF结束。
每组测试数据有n个整数。
输出 - 每组数据输出一行,数字间用一个空格隔开。 样例输入
-
1 2 3 4 5 6 7 8 9 10
样例输出 -
10 9 8 7 6 5 4 3 2 1
超时代码:
#include<stdio.h> #include<string.h> int a[100000]; int main() { char ch; int i=0; while(~scanf("%d%c",&a[0],&ch)) { while(ch!='\n') //感觉超时应该是此处缘故,判断次数多!!! scanf("%d%c",&a[++i],&ch); printf("%d",a[i]); for(i=i-1;i>=0;--i) printf(" %d",a[i]); printf("\n"); i=0; } return 0; }
AC代码:
#include<stdio.h> #include<string.h> char a[10000]; int b[1000]; int main() { char ch; while(gets(a)) { memset(b,0,sizeof(b)); int len=strlen(a),k=0,i; for(i=0;i<len;++i) { if(a[i]!=' ') b[k]=b[k]*10+a[i]-'0'; else k++; } printf("%d",b[k]); for(i=k-1;i>=0;--i) printf(" %d",b[i]); printf("\n"); } return 0; }
- 有多组测试数据,以EOF结束。