(HDOJ2000)--ASCII码排序

偶尔善良 提交于 2020-01-20 04:42:18

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();//专门用来读取上次输入的回车字符
	}
	
} 

这个题一开始是以为输入三行每行三个分别进行排序,所以采用数组,后来一查是我想多了,也就没有再改,用了简单选择排序,虽然代码多了点,权当复习了

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!