描述
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
输入
第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入
2
qwe
asd
样例输出
e q w
a d s
#include <stdio.h>
#include <string.h>
/*两个宏分别取出ASCII值最大和最小的*/
#define MAX(a,b,c) ((a>b?a:b)>c?(a>b?a:b):c)
#define MIN(a,b,c) ((a<b?a:b)<c?(a<b?a:b):c)
int main(void)
{
int n;
char buf[5]={0};
scanf("%d", &n);
fgetc(stdin);
while(n){
bzero(buf, sizeof(buf));
fgets(buf, 5, stdin);
printf("%c %c %c\n", MIN(buf[0], buf[1], buf[2]), \
(buf[0]+buf[1]+buf[2])-MIN(buf[0], buf[1], buf[2])-MAX(buf[0], buf[1], buf[2]), \
MAX(buf[0], buf[1], buf[2]));
n--;
}
return 0;
}