ASCII码排序
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 285216 Accepted Submission(s): 110827
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
#include<stdio.h>
main(){
char data[3];
int i,j,minIndex;
char temp;
while(scanf("%c%c%c",&data[0],&data[1],&data[2])!=EOF){
for(i=0;i<3;i++){
minIndex=i;
for(j=i+1;j<3;j++){
if(data[j]<data[minIndex]){
minIndex=j;
}
}
if(minIndex!=i){
temp=data[minIndex];
data[minIndex]=data[i];
data[i]=temp;
}
}
printf("%c %c %c\n",data[0],data[1],data[2]);
getchar();//专门用来读取上次输入的回车字符
}
}
这个题一开始是以为输入三行每行三个分别进行排序,所以采用数组,后来一查是我想多了,也就没有再改,用了简单选择排序,虽然代码多了点,权当复习了
来源:CSDN
作者:Hanoch_Liu
链接:https://blog.csdn.net/Hanoch_Liu/article/details/103933196