ACM第一期练习题第六小题:ASCII码排序

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

猜你喜欢

转载自blog.csdn.net/weixin_43697280/article/details/84873262
今日推荐