C语言中三个数比较大小详解——三种方法
C语言中比较三个数的大小有很多方法,以下是我总结的三种方法:
首先我定义 int a = 10; int b = 20; int c = 30;来比较三个数的大小。(如要输入三个数的大小,调用scanf函数即可实现)
以下为比较大小的不同方法附带源码。
方法一:if-else法
if-else是最简单组常见的比较方法,通过if-else的嵌套使用求出三个数中的最大值,注意的是 if 后面如需要多条语句支持时,需要加“{}”。
源代码如下:
#include<stdio.h>
int main(){
int a = 10;
int b = 20;
int c = 30;
int max = 0;
if (a > b&&a > c)
max = a;
else if (b > c&&b > a)
max = b;
else if(c > a&&c > b)
max = c;
else
max = a;
printf("max = %d\n",max);
return 0;
}
方法二:函数法
通过调用MAX函数实现功能
源码如下:
#include<stdio.h>
int MAX(int a, int b, int c){
if (a>=b && a>=c)
return a;
else if (c>=a && c>=b)
return c;
else if (b>=a && b>=c)
return b;
}
int main(){
int a = 10;
int b = 20;
int c = 30;
int ret = MAX(a, b, c);
printf("max = %d\n", ret);
return 0;
}
方法三:三目运算符法
其实叠加的三目运算符它的一般形式如下:
表达式1? 表达式2:表达式3;
通过三目运算符其实是可以比较n个数的大小的,以下我以比较三个数的大小为例:
注:读代码方法,找出相离最近的 “ ?:”,然后从里往外读。
源码如下:
#include<stdio.h>
int main(){
int a = 10;
int b = 20;
int c = 30;
int ret = a>b?a>c?a:c:b>c?b:c;//通过三目运算符的叠加比较出大的数
printf("max = %d\n",ret);
return 0;
}
三种方法运算结果都如下:
我的分享就到这里,欢迎交流。
END:努力追寻自己想要的,何必在乎他人的眼光。