游客 Signup | Login
中文 | En

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

注意字符的操作,以及换行符。

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题