ACM第一期練習題第六小題:ASCII碼排序
阿新 • • 發佈:2018-12-14
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;
}