思路一:定义两个比较大小的函数,依次两两比较输出最大或最小的数字(较为繁琐,最易分析)
/*
C?语言比较三个整数的大小并从大到小输出
思路:定义两个比较大小的函数,依次两两比较输出最大或最小的数字
*/
#include?
int?MaxNum(int?a,?int?b);//声明MaxNum函数
int?MinNum(int?a,?int?b);//声明MinNum函数
int?main(){
int?a,?b,?c,?t,?max,?min;//定义三个整数,一个中间变量,最大数,最香港vps小数
printf(“请输入三个数字大小不同的数字,以空格分隔:”);
scanf(“%d?%d?%d”,?&a,?&b,?&c);
//调用MaxNnm函数得出最大的数字
t?=?MaxNum(a,?b);
max?=?MaxNum(t,?c);
//调用MinNnm函数得出最小的数字
t?=?MinNum(a,?b);
min?=?MinNum(t,?c);
t?=?a?+?b?+?c?-?max?-?min;//得出中间的数字
printf(“%d?%d?%d”,?max,?t,?min);
return?0;
}
int?MaxNum(int?a,?int?b){//MaxNum函数:比较并返回较大的数字
if(a?>?b){
return?a;
}else{
return?b;
}
}
int?MinNum(int?a,?int?b){//MinNum函数:比较并返回较小的数字
if(a?
return?a;
}else{
return?b;
}
}
思路二:定义一个中间变量T,进行三次数值大小比较,令较大的数排序在前 (简短清晰,容易分析)
/*
C?语言比较三个整数的大小并从大到小输出
思路:定义一个中间变量T,进行三次数值大小比较,令较大的数排序在前
*/
#include?
int?main(){
int?num1,?num2,?num3,?T;//定义三个整数,一个中间变量
printf(“请输入三个数字大小不同的数字,以空格分隔:”);
scanf(“%d?%d?%d”,?&num1,?&num2,?&num3);
if(num2?>?num1){//如果第二个数字较大,则交换两个数字
T?=?num1;
num1?=?num2;
num2?=?T;
}
//令结果为:num1>num2
if(num3?>?num1){//如果第三个数字较大,则交换两个数字
T?=?num1;
num1?=?num3;
num3?=?T;
}
//令结果为:num1>num3
if(num3?>?num2){//如果第三个数字较大,则交换两个数字
T?=?num2;
num2?=?num3;
num3?=?T;
}
//令结果为:num2>num3
//三次比较后,结果为:?num1?>?num2?>?num3
printf(“这三个数字从大到小分别是:%d?%d?%d”,?num1,?num2,?num3);
return?0;
}