ASCII码排序
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语言程序设计练习(一)
解题思路
刚开始是想用数组读入,再用sort进行排序。WA不给过,吐了。查了下发现就是按规格读入然后傻傻排序就好。
AC
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
char a, b, c, temp;
while (cin >> a >> b >> c) {
if (c < b) {
temp = c;
c = b;
b = temp;
}
if (b < a) {
temp = b;
b = a;
a = temp;
}
if (c < b) {
temp = c;
c = b;
b = temp;
}
cout << a << " " << b << " " << c << endl;
}
return 0;
}
2024.02.03
新的开始兄弟们!准备复试,重刷下一些HDOJ
解题思路
循环读入,只有三个变量,僵硬冒泡。
AC
#include<iostream>
using namespace std;
int main(void) {
char a, b, c, temp;
while(scanf("%c%c%c%*c", &a, &b, &c) != EOF) {
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;
printf("%c %c %c\n", a, b, c);
}
return 0;
}