1795 - ASCII码排序
众所周知,字符在C语言中是使用ASCII码进行表示的。
现要求输入3个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这3个字符。
Input
第一行输入一个数N,表示有N组测试数据。
后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Examples
Input
3 qwe asd zxc
Output
e q w a d s c x z
Hint
注意字符的操作,以及换行符。
Solution C
#include <stdio.h> void swap(char *a, char *b){ char t; if(*a > *b){ t = *a; *a = *b; *b = t; } } int main(){ int n; char a, b, c; scanf("%d%*c", &n); while(n--){ scanf("%c%c%c%*c", &a, &b, &c); swap(&a, &b); swap(&b, &c); swap(&a, &b); printf("%c %c %c\n", a, b, c); } return 0; }
Solution C++
#include<stdio.h> main() { int count; char a,b,c,s,m,n,q; scanf("%d\n",&count); while(count--) { scanf("%c%c%c",&a,&b,&c); scanf("%c",&s); if(a>b) { m=a; a=b; b=m; } if(a>c) { n=a; a=c; c=n; } if(b>c) { q=b; b=c; c=q; } printf("%c%2c%2c\n",a,b,c); } return 0; }
Hint
注意字符的操作,以及换行符。