1. 程式人生 > >ACM第一期練習題第六小題:ASCII碼排序

ACM第一期練習題第六小題:ASCII碼排序

click here to have a try first
問題題目:
ASCII碼排序
Time limit 1000ms
Memory 32768KB

題目訊息:

輸入三個字元後,按各字元的ASCII碼從小到大的順序輸出這三個字元。

Input
輸入資料有多組,每組佔一行,有三個字元組成,之間無空格。

Output
對於每組輸入資料,輸出一行,字元中間用一個空格分開。

Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z

問題簡述:

一行輸入一個字母串,裡面有三個英文字母,比較三個英文字母的ASCⅡ碼的大小,把輸入的字母由小到大輸出並且每個字母之間有一個空格分開。其次程式應該符合能夠輸入多組資料。

問題分析:

程式不能結束要可以輸入多組資料,考慮利用while()迴圈,搭配if()對輸入三個字母大小排序問題。
Virtual Judge通過的程式以及具體的分析如下:

#include <iostream>
using namespace std;
int main()
{
	char a, b, c, temp;
	while (cin>>a>>b>>c)//輸入三個字母
	{
		if (a > b)//判斷輸入的a,b的大小,然後進行交換,把大的那一個與小的那一個進行調換
		{
			temp = a;
				a = b;
b = temp;//即小的放在a,大的放在b } if (a > c) { temp = a; a = c; c = temp; } if (b > c) { temp = b; b = c; c = temp; } printf("%c %c %c\n", a, b, c); } return 0; }