天天看點

hdu2000

**

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);
	}
}
           
上一篇: hdu2019
下一篇: hdu2037