3916 - 最难的题

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入三个字符(可以重复)后,按照字母的ASCII码从小到大输出这三个字符。

题目输入

第一行输入一个数字N,代表后面的N行输入测试数据,每行测试数据都是占一行,由三个字符组成,中间无空格。

题目输出

输出排序后的结果,每个字母之间有一个空格。

输入/输出样例

输入格式

3
qwe
asd
zxc

输出格式

e q w
a d s
c x z

C语言解答

#include<stdio.h>

int main()
{
    int  n;
    char a[5],t;
    while(~scanf("%d",&n))
    {
        getchar();
        while(n--)
        {
            gets(a);
            for(int i=0;i<2;i++)
                for(int j=0;j<2-i;j++)
                if(a[j]>a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
           for(int i=0;i<2;i++)
            printf("%c ",a[i]);
           printf("%c\n",a[2]);
        }
    }
    return 0;
}

C++解答

#include <stdio.h>

int main()

{
    char s[5];
    int n;
    while(~scanf("%d",&n))
    {
        while(n--)
        {
            scanf("%s",s);
            for(int i = 0;i < 2;++i)
                for(int j = 0;j < 2 - i;++j)
                    if(s[j] > s[j + 1])
                    {
                        char t = s[j];
                        s[j] = s[j + 1];
                        s[j + 1] = t;
                    }
            printf("%c %c %c\n",s[0],s[1],s[2]);
        }
    }
    return 0;
}