用c语言比较三个数的大小

C语言中,怎么比较三个数的大小?? 比较方法:
1比较从第一个数开始,先比较第一个数和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换;不大于(即等于或小于)则不作处理
2然后,再将第二个数和第三个数比较,同样,若大于则将它们互换
以1
2
3为例
先考虑我们所有的可能输入类型(这里不一一列举):1
2
3;3
2
1
;2
1
3;1
1
1;1
2
2;1
2
1;整体的思路为输入三个数后,我们从中取两个数,在这两个数中选出最大的后将最大的数与第三个数做差比较这里请参考代码理解;
代码:
#include<stdio.h>
int
comp(int
x,int
y)
{
return
x>y?x:y;
}
int
main()
{
int
i,j,k;
int
a,b,c;
scanf("%d
%d
%d",&a,&b,&c);
j=comp(a,b);//j为两个数里最大的值
k=c;//a+b-j求的是a,b里比较小的那个数;
if(j-k<0){printf("%d
%d
%d",k,j,a+b-j);return
0;}
//说明K最大按顺序输出就可以了1
2
3;2
2
3
if(j-k>=a+b-j){printf("%d
%d
%d",j,a+b-j,k);return
0;}//3
2
1
if(j-k<a+b-j){printf("%d
%d
%d",j,k,a+b-j);return
0;}//
3
2
3
}
总结:
其实这个代码本质也和用if语句比较大小排序差不多,只不过这里不需要每次都调用三个if语句,直接一条if语句便可输出答案效率更高一点

C语言3个数比较大小!输出最大值:

#include <stdio.h>
void main()
{
int a,b,c,Max;
scanf("%d %d %d",&a,&b,&c);
if (a <= b)
Max = b;
else
Max = a;
if (Max <= c)
printf("%d",c);
else
printf("%d",Max);
}

输入三个数(空格隔开),先比较前两个数大小,将较大的数赋值给Max,再比较Max与第三个数大小,输出较大的数
按降序输出:

#include <stdio.h>
void main()
{
int a,b,c,max_ab,min_ab;
scanf("%d %d %d",&a,&b,&c);
if (a<=b)
{
max_ab = b;
min_ab = a;
}
else
{
max_ab = a;
min_ab = b;
}
if (max_ab <= c)
printf("%d %d %d",c,max_ab,min_ab);
else if (max_ab > c && c >min_ab)
printf("%d %d %d",max_ab,c,min_ab);
else if (max_ab > c && c <=min_ab)
printf("%d %d %d",max_ab,min_ab,c);
}

输入三个数,判断前两个数,将大的数赋值给max_ab,小的数赋值给min_ab,再将max_ab与c作比较若c大于等于max_ab,则输出c,max_ab,min_ab.若c小于max_ab且大于min_ab,则输出max_ab,c,min_ab.若c小于min_ab,则输出max_ab,min_ab,c


知识延展:
1. C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大中小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序
2. 它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发

(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)
来源:本文由易搜IT博客原创撰写,欢迎分享本文,转载请保留出处和链接!