HDU2000 ASCII码排序【排序】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wxd1233/article/details/82532529

ASCII码排序

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


 

Problem Description

输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

 

Input

输入数据有多组,每组占一行,有三个字符组成,之间无空格。

 

Output

对于每组输入数据,输出一行,字符中间用一个空格分开。

 

Sample Input

 

qwe asd zxc

 

Sample Output

 

e q w a d s c x z

思路一:三变量交换法

#include<stdio.h>
int main(void)
{
	char c1;
	char c2;
	char c3;
	while(~scanf("%c%c%c",&c1,&c2,&c3))
	{
		getchar();
		if(c1>c2)
		{
			char temp = c1;
			c1 = c2;
			c2 = temp;
		}
		if(c1>c3)
		{
			char temp = c1;
			c1 = c3;
			c3 = temp;
		}
		if(c2>c3)
		{
			char temp = c2;
			c2 = c3;
			c3 = temp;
		}
		printf("%c %c %c\n",c1,c2,c3);
	}
	return 0;
}

思路二:调用库函数sort。

#include<stdio.h>
#include<algorithm>
using namespace std;
int main(void)
{
	char s[3];
	while(~scanf("%s",s))
	{
		sort(s,s+3);
		printf("%c %c %c\n",s[0],s[1],s[2]);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/wxd1233/article/details/82532529
今日推荐