ASCII码排序
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
- 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入
-
2 qwe asd
样例输出
-
e q w a d s
-
错误原因:编译错误,getchar()的头文件是<stdio.h>,有时候没有这个头文件编译器也可以通过,但是提交的话就会PE!!!!!切记!!!
-
代码:
-
优秀代码:#include<iostream> #include<stdio.h> #include<stdlib.h> #include<algorithm> using namespace std; int main() { char a[4]; int n; cin >> n; getchar(); while(n--) { for(int i=0;i!=3;i++) cin>>a[i]; sort(a,a+3); cout<< a[0]<<" "<<a[1]<<" "<<a[2]<<endl; } return 0; }
-
#include "stdio.h" main() { char a,b,c,d; int i; scanf("%d",&i); getchar(); while(i--) { scanf("%c%c%c",&a,&b,&c); getchar(); //吸收在循环体内后面输出的换行符 if (a>b) {d=a;a=b;b=d;} if (a>c) {d=a;a=c;c=d;} if (b>c) {d=b;b=c;c=d;} printf("%c %c %c\n",a,b,c); } }