ASCII码排序
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 237624 Accepted Submission(s): 93524
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
Author
lcy
Source
C语言程序设计练习(一)
Recommend
JGShining
问题链接:https://vjudge.net/problem/hdu-2000。
问题简述:每行输入三个字符,将各字符从小到大排序输出。
问题分析:利用while循环输入的原理,输入的字符可用数组来存储。每一行输出时,字符中间用一个空格分开。
程序说明:利用while循环,进行排序。(将数组中第一元素跟第二元素比较大小(前者比后者大就利用一个中间变量来交换位置);再将数组中第二元素跟第三元素比较大小;最后将数组中第一元素跟第二元素比较大小;)
AC通过的C语言程序如下:
#include <iostream>
using namespace std;
int main()
{
char a[3];//声明一个数组
while (cin >> a)//当输入该数组元素时循环
{
char s;
if (a[0] > a[1])
{
s = a[0];
a[0] = a[1];
a[1] = s;
}
if (a[1] > a[2])
{
s = a[1];
a[1] = a[2];
a[2] = s;
}
if (a[0] > a[1])
{
s = a[0];
a[0] = a[1];
a[1] = s;
}
cout <<a[0] <<" " << a[1]<<" " << a[2]<<endl;
}
}