题目:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。
分析:三个数进行比较并排序:
①先比较两个num1,num2,得出两个中的较大值,较小值;
②再将上一轮得出的较大值和较小值和第三个数num3进行比较。
例如:num1=2,num2=4
较大值maxer=num2,较小值miner=num1;
将maxer和num3进行比较,如果maxer<num3,比如num3=5,那么max=num3=5。
即num1<num2<num3;
如果maxer>num3,max=maxer,此时要比较num3和miner的大小。
这又分为两种情况:
①num3<miner,比如num3=1,那么num3<num1<num2;
②num3>miner,比如num3=3,那么num1<num3<num2。
完整代码如下:
#include <stdio.h>
int main()
{
int num1,num2,num3;
int max,maxer,min,miner,mid;
printf("输入3个整数:");
scanf("%d%d%d",&num1,&num2,&num3);
if(num1>num2)
{
maxer=num1;
miner=num2;
}
else
{
maxer=num2;
miner=num1;
}
if(maxer>num3)
{
max=maxer;
if(miner>num3)
{
mid=miner;
min=num3;
}
else
{
mid=num3;
min=miner;
}
}
else
{
max=num3;
min=miner;
mid=maxer;
}
printf("从小到大:%d,%d,%d\n",min,mid,max);
return 0;
}