輸入三個字符后,按各字符的ASCII碼從小到大的順序輸出這三個字符。
Input
輸入數(shù)據(jù)有多組,每組占一行,有三個字符組成,之間無空格。
Output
對于每組輸入數(shù)據(jù),輸出一行,字符中間用一個空格分開。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
問題鏈接(https://vjudge.net/problem/hdu-2000)
問題簡述:輸入三個字符,根據(jù)ASCALL碼值的大小來對各字符進行從小到大的排序
問題分析:由于涉及到排序問題,有多種思路可走:1,可以通過選擇排序;2,可以通過冒泡排序,3,可以通過IF語句的應用來進行排序。將最大的字符及最小的字符找出來。
程序分析:定義一個函數(shù)paixu將最大的字符及最小的字符找出來;并在主函數(shù)中進行函數(shù)調(diào)用
AC通過的代碼如下
#include<iostream>
using namespace std;
void paixu(char*p)
{
if(p[0]<p[1])
{
int t=p[1];
p[1]=p[0];
p[0] = t;
}//p[0]大
if (p[0] < p[2])
{
int t = p[2];
p[2] = p[0];
p[0] = t;
}//p[0]最大
if (p[2] > p[0])
{
int t = p[0];
p[0] = p[2];
p[2] = t;
}//現(xiàn)在p[2]小
if (p[2] > p[1])
{
int t = p[1];
p[1] = p[2];
p[2] = t;
}//現(xiàn)在p[2]最小
cout << p[2];
for (int i = 1; i >=0; i--)
{
cout << " " << p[i] ;
}
cout << endl;
}
int main()
{
char p[3] = { 0 };
while (cin >> p[0]>>p[1]>>p[2])
{
paixu(p);
}
}