题目链接:https://vjudge.net/problem/hdu-2000
ASCII码排序
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
1、首先定义一个字符串数组接收三个字符。
2、用while循环结构,当用户输入三个字符,则按其ASCII码从小到大输出,
(其中使用了 if语句 对每两个进行比较)。
代码如下:
#include<iostream>
using namespace std;
int main()
{
char p[4];
while (cin >> p)
{
if (p[0]<p[1]&&p[0]<p[2])
if (p[1] < p[2])cout << p[0] << ' ' << p[1] << ' ' << p[2];
else cout << p[0] << ' ' << p[2] << ' ' << p[1];
if (p[1] < p[0] && p[1] < p[2])
if (p[0] < p[2])cout << p[1] << ' ' << p[0] << ' ' << p[2];
else cout << p[1] << ' ' << p[2] << ' ' << p[0];
if (p[2] < p[1] && p[2] < p[0])
if (p[0] < p[1])cout << p[2] << ' ' << p[0] << ' ' << p[1];
else cout << p[2] << ' ' << p[1] << ' ' << p[0];
cout << endl;
}
}