HDU - 2000 ASCII碼排序【水題】
阿新 • • 發佈:2018-12-14
ASCII碼排序
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 237624 Accepted Submission(s): 93524
Problem Description
輸入三個字元後,按各字元的ASCII碼從小到大的順序輸出這三個字元。
Input
輸入資料有多組,每組佔一行,有三個字元組成,之間無空格。
Output
對於每組輸入資料,輸出一行,字元中間用一個空格分開。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
Author
lcy
Source
C語言程式設計練習(一)
Recommend
JGShining
問題連結:https://vjudge.net/problem/hdu-2000。
問題簡述:每行輸入三個字元,將各字元從小到大排序輸出。
問題分析:利用while迴圈輸入的原理,輸入的字元可用陣列來儲存。每一行輸出時,字元中間用一個空格分開。
程式說明:利用while迴圈,進行排序。(將陣列中第一元素跟第二元素比較大小(前者比後者大就利用一箇中間變數來交換位置);再將陣列中第二元素跟第三元素比較大小;最後將陣列中第一元素跟第二元素比較大小;)
AC通過的C語言程式如下:
#include <iostream> using namespace std; int main() { char a[3];//宣告一個數組 while (cin >> a)//當輸入該陣列元素時迴圈 { char s; if (a[0] > a[1]) { s = a[0]; a[0] = a[1]; a[1] = s; } if (a[1] > a[2]) { s = a[1]; a[1] = a[2]; a[2] = s; } if (a[0] > a[1]) { s = a[0]; a[0] = a[1]; a[1] = s; } cout <<a[0] <<" " << a[1]<<" " << a[2]<<endl; } }