【分析思路】
三个整数从小到大排序
这个程序的算法是:
先把第一个数num1跟它后面所有的数相比较,找出最小的,通过中间变量temp交换,赋给num1;
接着中间值num2和它后面所有的数相比较,找出第二小的,然后赋给num2
……以此类推,直到比完了所有的数。
【代码】
#include <stdio.h>
int main(void)
{
int num1, num2, num3, temp;
printf("请输入三个整数:");
scanf("%d %d %d", &num1, &num2, &num3);
//num1是最小值,num2是中间值,num3是最大值
//如果num1比num2大,那么交换num1, num2;
if(num1 > num2)
{
//交换两个数,利用temp过渡
temp = num1;
num1 = num2;
num2 = temp;
}
//如果num1比num3大,那么互换num1, num3
if(num1 > num3)
{
temp = num1;
num1 = num3;
num3 = temp;
}
//如果num2比num3大,那么互换num2,num3
if(num2 > num3)
{
temp = num2;
num2 = num3;
num3 = temp;
}
printf("这三个整数从小到大排序为:num1 = %d, num2 = %d, num3 = %d\n", num1, num2, num3);
return 0;
}
/*
在VC++6.0输出的结果是
-----------------------------------------
请输入三个整数:45 33 66
这三个整数从小到大排序为:num1 = 33, num2 = 45, num3 = 66
----------------------------------------------------------
请输入三个整数:88 99 33
这三个整数从小到大排序为:num1 = 33, num2 = 88, num3 = 99
----------------------------------------------------------
请输入三个整数:33 88 22
这三个整数从小到大排序为:num1 = 22, num2 = 33, num3 = 88
*/