題目來源:www.acm.hdu.edu.cnspa
題目編號:2000 ASCII碼排序code
/*----------------------------------------原題目----------------------------------------*/blog
【問題描述】排序
輸入三個字符後,按各字符的ASCII碼從小到大的順序輸出這三個字符。get
【輸入】io
輸入數據有多組,每組佔一行,有三個字符組成,之間無空格。class
【輸出】方法
對於每組輸入數據,輸出一行,字符中間用一個空格分開。數據
【樣例輸入】di
qwe
asd
zxc
【樣例輸出】
e q w
a d s
c x z
/*-----------------------------題目分析-----------------------------*/
題目的難點在於輸入格式。我一開始是採用
scanf(「%c%c%c」,&a,&b,&c);
可是回車會自動被記錄爲下一個字符,致使錯誤。我用getch()依然不能成功消除回車的影響。
除了我下面給出的方法,還有一種方法是先判斷%c是否是eof,而後get b和c,再get空格,彷佛可行。
/*------------------------------Code------------------------------*/
Judge Status : Accepted
Language:C
1 #include<stdio.h>
2 int main() 3 { 4 char a[3],temp; 5 while (scanf("%s",&a)!=EOF) 6 { 7 if(a[0]>a[2]) 8 { 9 temp=a[0]; 10 a[0]=a[2]; 11 a[2]=temp; 12 } 13 if(a[1]>a[2]) 14 { 15 temp= [1]; 16 a[1]=a[2]; 17 a[2]=temp; 18 } 19 20 if(a[0]>a[1]) 21 { 22 temp=a[1]; 23 a[1]=a[0]; 24 a[0]=temp; 25 } 26 printf("%c %c %c\n",a[0],a[1],a[2]); 27 } 28 }