nyoj 题目4:ASCII码排序

来源:互联网 发布:小微企业会计核算软件 编辑:程序博客网 时间:2024/06/06 04:38
 

ASCII码排序

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
描述
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
输入
第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入
2qweasd
样例输出
e q wa d s



#include <stdio.h>

int main ()
{
    char a, b, c, m;
    int n;
    scanf ("%d", &n);
    while (n--)
    {
    getchar();
    scanf ("%c%c%c", &a, &b, &c);     //getchar记录的空格是前头的,故前头有getchar。getchar是为了解除%c的记忆
    if (a < b)
      {
    m = a;
    a = b;
    b = m;
      }
    if (a < c)
      {
          m = a;
          a = c;
          c = m;
       }
       if (b < c)
       {
             m = c;
             c = b;
             b = m;
          }
          printf ("%c %c %c\n", c, b, a);
    }
    return 0;

}


第一次失误:

自己刚开始输入时错误了,统一用了%的,导致自己输入输出不对。

第二次失误:

最后的结果没有注意到要空格,导致格式不对。

第三次错误:

getchar,自己一见就知道少东西了,但忘记了,百度之后知道了是getchar,但插入到了scanf后头,导致二次错误。后改正

       


 

0 0
原创粉丝点击