1. 程式人生 > >HDU-2000 ASCII碼排序(語法練習題)

HDU-2000 ASCII碼排序(語法練習題)

ASCII碼排序

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 236447 Accepted Submission(s): 93141

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

題目分析:

  輸入字串,拆解為三個字元,按照ASCII碼排序,輸出排序後的字元,空格分開。

程式說明:

  僅用三目運算子得出大小排序。(可優化,未給出優化結果)

程式實現:

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string str;
    while
(cin>>str) { int a=str[0],b=str[1],c=str[2]; cout<<(char)((a<b?a:b)<c?(a<b?a:b):c)<<' '<<(char)(a>((a<b?a:b)<c?(a<b?a:b):c)?(a<((a>b?a:b)>c?(a>b?a:b):c)?a:(b>c?b:c)):(b>c?c:b))<<' '<<(char)((a>b?a:b)>
c?(a>b?a:b):c)<<endl; } }