您的位置:首页 > 编程语言 > C语言/C++

C语言(7)ASCII码值排序

2017-07-29 15:14 211 查看
描述
输入三个字符(可以重复)后,按各字符的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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: