HDU2000 ASCII码排序【基础题】

ASCII码排序

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


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

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

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

Sample Input
 
      
qwe asd zxc
 

Sample Output
 
      
e q w a d s c x z
AC代码1:
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(void)
{
	char s[4];
	while(~scanf("%s",s))
	{
		sort(s,s+3);
		printf("%c %c %c\n",s[0],s[1],s[2]);
	}
	return 0;
} 
AC代码2:
#include<stdio.h>  
int main(void)  
{  
    char a,b,c,t;  
    while(scanf("%c%c%c",&a,&b,&c)!=EOF)  
    {  
        getchar();  
        if(a > b)  
        {  
            t = a;  
            a = b;  
            b = t;  
        }  
        if(a > c)  
        {  
            t = a;  
            a = c;  
            c = t;  
        }  
        if(b > c)  
        {  
            t = b;  
            b = c;  
            c = t;  
        }  
        printf("%c %c %c\n",a,b,c);  
    }  
    return 0;  
}   

AC代码2中要注意getchar()吃掉空格。

猜你喜欢

转载自blog.csdn.net/wxd1233/article/details/80349506