2000.ASCII码排序
- 2000.ASCII码排序
#include<stdio.h>
int main(){
char a,b,c,t;
while(~scanf(" %c%c%c",&a,&b,&c)){//第一个%c前面加个空格,吃掉缓冲区的回车键
// if(a>b) printf("%c",a); 验证了char类型可以直接比较ASCII码大小
// else printf("%c",b);
if(a>b){
t=a;a=b;b=t;//保证a小 在前面
}
if(a>c){
t=a;a=c;c=t;
}
if(b>c){
t=b;b=c;c=t;
}
printf("%c %c %c\n",a,b,c);
}
return 0;
}在这里插入代码片
需要注意,用%c作为输入格式字符时,仅接受单个字符(空格键回车键都可以读入)。从键盘输入字符后需要按回车键运行,此时这个回车键放在了键盘缓冲区,如果后面再有%c作为输入格式字符时,将不再读键盘,而是直接从键盘缓冲区取出没有读完的回车键。
解决方法:在%c前输入一个空格,加空格就可以利用格式化的输入跳过一个字符(这里就是指那个缓冲区的回车键)因为回车键必须按了才能运行
eg:scanf(" %c",&a);