思路一:定义两个比较大小的函数,依次两两比较输出最大或最小的数字(较为繁琐,最易分析)
/*
C语言比较三个整数的大小并从大到小输出
思路:定义两个比较大小的函数,依次两两比较输出最大或最小的数字
*/
#include
intMaxNum(inta,intb);//声明MaxNum函数
intMinNum(inta,intb);//声明MinNum函数
intmain(){
inta,b,c,t,max,min;//定义三个整数,一个中间变量,最大数,最小数
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);
return0;
}
intMaxNum(inta,intb){//MaxNum函数:比较并返回较大的数字
if(a>b){
returna;
}else{
returnb;
}
}
intMinNum(inta,intb){//MinNum函数:比较并返回较小的数字
if(a
returna;
}else{
returnb;
}
}
思路二:定义一个中间变量T,进行三次数值大小比较,令较大的数排序在前 (简短清晰,容易分析)
/*
C语言比较三个整数的大小并从大到小输出
思路:定义一个中间变量T,进行三次数值大小比较,令较大的数排序在前
*/
#include
intmain(){
intnum1,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);
return0;
}