您的位置:首页 > 其它

nyoj 题目4:ASCII码排序

2014-12-20 16:46 260 查看
 

ASCII码排序

时间限制:3000 ms  |  内存限制:65535 KB

难度:2

描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。

输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例输入
2
qwe
asd

样例输出
e q w
a 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后头,导致二次错误。后改正

       

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: