**
hdu2000:ASCII碼排序
**
Problem Description
輸入三個字元後,按各字元的ASCII碼從小到大的順序輸出這三個字元。
Input
輸入資料有多組,每組占一行,有三個字元組成,之間無空格。
Output
對于每組輸入資料,輸出一行,字元中間用一個空格分開。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
思路:它輸入的字元是連續的,是以可以看成是輸入一個字元串,字元串又相當是一個數組,數組的元素排序又有幾個方法,我是選擇把最小的值賦予第0個元素,中間數賦予第1個元素,最大的數賦予第2個元素(當然還有一個最常用的方法,冒泡排序),我把它做成一個函數包,友善後面直接用,不用一次次地排序。
注意的地方:數組作為參數時要注意給與足夠的長度,接着就是主函數裡while循環裡有個!=EOF要注意加上,不然會導緻逾時。
#include"stdio.h"
void Exchange(char a[])
{
int temp;
if(a[0]>a[1])
{
temp=a[0];a[0]=a[1];a[1]=temp;
}
if(a[0]>a[2])
{
temp=a[0];a[0]=a[2];a[2]=temp;
}
if(a[1]>a[2])
{
temp=a[1];a[1]=a[2];a[2]=temp;
}
printf("%c %c %c\n",a[0],a[1],a[2]);
}
void main()
{
char a[3];
while(scanf("%s",&a)!=EOF)
{
Exchange(a);
}
}