HDU2000ASCII码排序
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
#include <stdio.h>
#include <math.h>
int main() {
char a,b,c,d;
while(scanf("%c%c%c%c",&a,&b,&c,&d) != EOF){
int aa = (int)a;
int bb = (int)b;
int cc = (int)c;
int d = abs(aa-bb);
int minAB = ((aa+bb)-d)/2;
int maxAB = minAB + d;
int minABC;
if(minAB<cc){
minABC = minAB;
}
else{
minABC = cc;
}
int maxABC;
if(maxAB>cc){
maxABC = maxAB;
}
else{
maxABC = cc;
}
int midABC = aa+bb+cc-maxABC-minABC;
printf("%c %c %c\n",minABC,midABC,maxABC);
}
return -1;
}