Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
当要输入一次性输入多个字符型变量时,输入时直接连在一起输入多个字符,并且如果要实现多次输入的话,scanf里要"多赋值一个"字符型变量,
如本题中要一次性输入三个字符,则要写四个字符变量的赋值**
while(scanf("%c%c%c%c",&a,&b,&c,&d)!=EOF)
**
我的解法:
#include <stdio.h>
int main(){
char a,b,c,d,t;
while(scanf("%c%c%c%c",&a,&b,&c,&d) != EOF){
if(b<a){
t=a;
a=b;
b=t;
}
if(c<b){
t=b;
b=c;
c=t;
}
if(b<a){
t=a;
a=b;
b=t;
}
printf("%c %c %c\n",a,b,c);
}
}
别人解法:
#include <stdio.h>
int main()
{
char a,b,c,d,x,y,z;
while(scanf("%c%c%c%c",&a,&b,&c,&d) != EOF)
{
x=a<b?a:b;
x=x<c?x:c;
z=a>b?a:b;
z=z>c?z:c;
y=a+b+c-x-z;
printf("%c %c %c\n",x,y,z);
}
}