南阳理工oj题目练习---ASCII码排序

版权声明:宇哥出品,必属精品~~~ https://blog.csdn.net/zhongaiyisheng_/article/details/82818228

描述:
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
输入,
第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出,
对于每组输入数据,输出一行,字符中间用一个空格分开。
代码:

#include <stdio.h>
int main()
{
    char a,b,c,t;
    int i;
    scanf("%d",&i);
    getchar();
    while(i--)
   {
      scanf("%c%c%c",&a,&b,&c);
      getchar();
      if (a>b) {t=a;a=b;b=t;}
      if (a>c) {t=a;a=c;c=t;}
      if (b>c) {t=b;b=c;c=t;}
      printf("%c %c %c\n",a,b,c);
    }
}

算法思想:
1.getchar()函数
该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF。
代码示例:

#include <stdio.h>

int main ()
{
   char c;
 
   printf("请输入字符:");
   c = getchar();
 
   printf("输入的字符:");
   putchar(c);

   return(0);
}

2.通过字符之间的直接比较来找出最大值

猜你喜欢

转载自blog.csdn.net/zhongaiyisheng_/article/details/82818228