【hdu2000】ASCII码排序

 

题目来源:www.acm.hdu.edu.cn

题目编号:2000 ASCII码排序

/*----------------------------------------原题目----------------------------------------*/

【问题描述】

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

 

【输入】

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

 

【输出】

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

 

【样例输入】

qwe

asd

zxc

 

【样例输出】

e q w

a d s

c x z

 

/*-----------------------------题目分析-----------------------------*/

题目的难点在于输入格式。我一开始是采用

scanf(“%c%c%c”,&a,&b,&c);

但是回车会自动被记录为下一个字符,导致错误。我用getch()依然不能成功消除回车的影响。

除了我下面给出的方法,还有一种方法是先判断%c是不是eof,然后get bc,再get空格,似乎可行。

/*------------------------------Code------------------------------*/

Judge Status : Accepted

LanguageC

 

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char a[3],temp;
 5     while (scanf("%s",&a)!=EOF)
 6     {
 7         if(a[0]>a[2])
 8         {
 9             temp=a[0];
10             a[0]=a[2];
11             a[2]=temp;
12         }
13         if(a[1]>a[2])
14         {
15             temp= [1];
16             a[1]=a[2];
17             a[2]=temp;
18         }
19         
20         if(a[0]>a[1])
21         {
22             temp=a[1];
23             a[1]=a[0];
24             a[0]=temp;
25         }
26         printf("%c %c %c\n",a[0],a[1],a[2]);
27     }
28 }

 

posted on 2016-02-16 19:17  南漂者  阅读(2767)  评论(1编辑  收藏  举报