题目描述
输入三个字符(可以重复)后,按各字符的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)无&;
本文介绍了一个简单的字符排序程序,该程序接收三字符输入,并按ASCII码顺序输出。文章详细解释了程序的工作原理,包括如何使用循环进行字符比较及排序。

3058

被折叠的 条评论
为什么被折叠?



