ASCII码排序 HDU - 2000(语言训练题)

输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

    Input
    输入数据有多组,每组占一行,有三个字符组成,之间无空格。

    Output
    对于每组输入数据,输出一行,字符中间用一个空格分开。

    Sample Input
    qwe
    asd
    zxc

    Sample Output
    e q w
    a d s
    c x z

题目分析:
题目要求可以输入一行然后输出一行,然后我理解错题意,以为是要以多行三列的形式输入,然后再输出结果。题目关键是运行一个比较后可以继续进行下一次比较而不会从操作界面退出,所以要想一个方法,使程序能一直的输入。
程序说明:
把cin>>a>>b>>c当成while的参数,因为cin遇到输入终止时会返回一个0,而while遇到0会退出循环。
程序实现:

#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
 char a, b, c;
 while (cin >> a >> b >> c)
 {
  char temp;
  if (a > b)
  {
   temp = a;
   a = b;
   b = temp;
  }
  if (b > c)
  {
   temp = b;
   b = c;
   c = temp;
  }
  if(a > b)
  {
   temp = a;
   a = b;
   b = temp;
  }
  cout<<a<<" "<<b<<" "<<c<<endl;
 }
}

猜你喜欢

转载自blog.csdn.net/qq_43667011/article/details/84867262
今日推荐