问题描述
【问题描述】比较大小:输入三个整数,按从小到大顺序输出。
【输入形式】三个整数,以单个空格分隔
【输出形式】三个整数,以单个空格分隔,由小到大输出
【样例输入】2 6 5
【样例输出】2 5 6
代码
- 第一种实现(使用选择排序算法,稍微麻烦点,但不是很难,具有通用性)
#include<stdio.h>
int main(void){
int a[3];
int i,j,min,t;
// 简单选择排序
for(i=0;i<3;i++){
scanf("%d",&a[i]);
}
for(i=0;i<2;i++){
min=i;
for(j=i+1;j<3;j++){
if(a[j]<a[min]){
min=j;
}
}
if(min!=i){
t=a[min];
a[min]=a[i];
a[i]=t;
}
}
for(i=0;i<3;i++){
printf("%d ",a[i]);
}
return 0;
}
- 第二种实现(简单,只适合3个数的类型)
#include<stdio.h>
int main(){
int a,b,c,t;
scanf("%d %d %d",&a,&b,&c);
if(a>b){
t=a;
a=b;
b=t;
}
if(a>c){
t=a;
a=c;
c=t;
}
if(b>c){
t=b;
b=c;
c=t;
}
printf("%d %d %d\n",a,b,c);
return 0;
}
实验结果
-第一种实现结果
- 第二种实现结果