【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 b和c,再get空格,似乎可行。

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

Judge Status : Accepted

Language:C

 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 }
上一篇:2000 ASCII码排序


下一篇:freepbx 安装和配置