HDOJ 2000 ASCII码排序
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
话不多说上代码
#include<stdio.h>
void swap(char*, char*);
int main(void)
{
char a, b, c, n;
while (scanf("%c%c%c%c", &a, &b, &c, &n) != EOF)
{
//abcn四个变量,其中abc接受待排序字母,n处理每轮的多余换行。
if (a > b)
swap(&a, &b);
if (a > c)
swap(&a, &c);
if (b > c)
swap(&b, &c);
/*经过对比调换,a中保存ascll码相对较小的英文字母,
c中保存ascll码相对较大的英文字母。b中保存中ascll码等大小的英文字母*/
printf("%c %c %c\n", a, b, c);//输出即可满足题意
}
return 0;
}
void swap(char* a, char* b)//调换函数
{
char temp = *a;
*a = *b;
*b = temp;
}