C语言(7)ASCII码值排序
2017-07-29 15:14
211 查看
描述
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入
样例输出
输入三个字符(可以重复)后,按各字符的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; }
相关文章推荐
- C语言&nbsp;linux信号和阻塞&nbsp;sigaction…
- C语言中元素访问之数组
- C语言中的typeof关键字
- C语言安全编码之数值中的sizeof操作符
- Day6_c语言_二维数组练习
- C语言getopt()函数的使用
- C语言编程入门——程序练习(下)
- C语言 scanf 函数返回值问题探究
- 学c语言第一个自己写的计算器程序
- C语言求最大公约数和最小公倍数的几种算法
- C语言中全局变量与静态全局变量区别
- C语言文件操作
- C语言学习之深度优先搜索
- c语言 常见问题
- C语言
- C语言中的结构
- 《从汇编语言到Windows内核编程》学习笔记 (第一章 汇编指令与C语言)
- 基于POSIX在Linux下C语言实现读取整个目录文件[Get a List of Files in a Directory with C]
- 组合的C语言实现
- C语言进程通过管道同步