题目描述
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
输入
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入 Copy
qwe asd zxc
样例输出 Copy
e q w a d s c x z
法一
#include#include int main() { char a,b,c,d1,e1,temp; while(scanf("%c%c%cn",&a,&b,&c)!=EOF)//输入中在后面加了一个换行符 //输入只有在读到这个换行符的时候才会进行下一次输入 { if(a>b) { temp=a; a=b; b=temp; } if(a>c) { temp=a; a=c; c=temp; } if(b>c) { temp=b; b=c; c=temp; } printf("%c %c %cn",a,b,c); } return 0; }
法二:
#include#include int main() { char a,b,c,d1,e1,temp; while(scanf("%c%c%c",&a,&b,&c)!=EOF) { getchar();//利用getchar来吸收掉换行符 if(a>b) { temp=a; a=b; b=temp; } if(a>c) { temp=a; a=c; c=temp; } if(b>c) { temp=b; b=c; c=temp; } printf("%c %c %cn",a,b,c); } return 0; }
scanf中n
例scanf("%cn",&a);
scanf函数的第一个参数指定了后面变量读取的格式,这样写的话会按照 :
字符 回车 的格式读取,读到回车之后会继续读下一行,这样就避免了把换行符赋给下一行的a的问题



