题目描述
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
输入
第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入
复制
2 qwe asd
样例输出
复制
e q w
a d s
#include<stdio.h> #include<string.h> int main(void) { char a[10],c; int n,i,j; scanf("%d",&n); getchar();//接收回车 while(n--) { gets(a);//使用3个scanf("%c",)为什么不可以? for(i=0;i<2;i++) { for(j=i+1;j<=2;j++) { if(a[i]>a[j]) { c=a[i]; a[i]=a[j]; a[j]=c; } } } for(i=0;i<2;i++) printf("%c ",a[i]); printf("%c\n",a[2]); } }
主要知识点
- 字符输入时函数与空格之间的关系:gets可以接收空格回车scanf(“%c")也可;一般需用getchar做缓冲区
- a[10],scanf("%s",a)无&;