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;
}