描述
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
#include<stdio.h>
int main()
{
char a,b,c ; //定义三个字符
int n; //n是控制循环次数的。n等于几 就决定了可以输入几组数。
scanf("%d",&n);
while(n--)
{
getchar(); //它是吃字符的,当输入n=3时,因为要按个“回车键”来表示这一行结束了,防止scanf把回车当作a的值读进去,所以要让getchar先把回车给吃进去。
if(b<=c)
printf("%c %c %c\n",a,b,c);
else if(a<=c)
printf("%c %c %c\n",a,c,b);
else printf("%c %c %c\n",c,a,b);
}
else
{
if(a<=c)
printf("%c %c %c\n",b,a,c);
else if(b<=c)
printf("%c %c %c\n",b,c,a);
else
printf("%c %c %c\n",c,b,a);
}
}
return 0;
}
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
过程:我用的是C语言,三个字符比大小,三个数中找最大,肯定这个数大于另外两个数。但不要忽略相等的时候。测试时,若两个数相等,先输入的则先输出。
#include<stdio.h>
int main()
{
char a,b,c ; //定义三个字符
int n; //n是控制循环次数的。n等于几 就决定了可以输入几组数。
scanf("%d",&n);
while(n--)
{
getchar(); //它是吃字符的,当输入n=3时,因为要按个“回车键”来表示这一行结束了,防止scanf把回车当作a的值读进去,所以要让getchar先把回车给吃进去。
scanf("%c%c%c",&a,&b,&c); //此处一定要有输入,前面加地址符,才能在测试时,找到a b c的地址,赋值给它们。
if(a<=b)
{if(b<=c)
printf("%c %c %c\n",a,b,c);
else if(a<=c)
printf("%c %c %c\n",a,c,b);
else printf("%c %c %c\n",c,a,b);
}
else
{
if(a<=c)
printf("%c %c %c\n",b,a,c);
else if(b<=c)
printf("%c %c %c\n",b,c,a);
else
printf("%c %c %c\n",c,b,a);
}
}
return 0;
}