C/C++算法竞赛入门经典Page11 例题1-5 三整数排序
题目:输入3个整数,从小到大排序后输出
样例输入:
20 7 33
样例输出:
7 20 33
首先,先声明三个整数a,b,c和一个临时变量t:
int a,b,c,t;//1,b,c为三个整数,t为临时变量
输入三个整数:
scanf("%d%d%d",&a,&b,&c);
进行3次if判断:
1.如果b>a,则a,b对调
2.如果c>a,则a,c对调
3.如果c>b,则b,c对调
代码:
if(b>=a){ t=b; b=a; a=t; } if(c>=a){ t=c;c=a;a=t; } if(c>=b){ t=c;c=b;b=t; }
排序完成后按从大到小的顺序输出3个数:
printf("%d %d %d",a,b,c);
完整代码:
//P11 例1-5 三整数排序 #include <cstdio> int a,b,c,t;//1,b,c为三个整数,t为临时变量 int main() { scanf("%d%d%d",&a,&b,&c); if(b>=a){ t=b; b=a; a=t; } if(c>=a){ t=c;c=a;a=t; } if(c>=b){ t=c;c=b;b=t; } printf("%d %d %d",a,b,c); return 0; }