求三个数最大值 用函数)C语言,三个数中寻找最大值的5种方法-C语言实现

写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。

某年某月某日,老师给我们布置了一个极其笨拙的方法用来求三个数中的最大值,还在最后让我们找其他方法,这就让我瞬间上了头!

aabc331ada4829180bacf9327ff3a2d0.png

第一种-使用三元运算符

如名字表示的三元运算符需要三个操作数。

语法为:条件表达式?表达式1:表达式2。

说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。

其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。

这题我们的思路也是一样,在这里我们先用三元运算符求出两个数的最大值,然后用这个最大值与第三个数比较得出真正的最大值。

#include

int main()

{

int a, b, c;

printf("请输入a,b,c");

scanf("%d %d %d", &a, &b, &c);

// 1.三元运算符

int n = (((a > b) ? a : b) > c) ? ((a > b) ? a : b) : c;

printf("%d", n);

return 0;

}

第二种-调用函数

其实调用的函数实际上又可以有多种写法,但是这里就不展开了,基本就是这里的方法变成两个数求最大值套进去,相信各位聪明的看官一定能轻松理解的。

#include

int main()

{

int a, b, c;

printf("请输入a,b,c");

scanf("%d %d %d", &a, &b, &c);

// 2.调用函数

int m=judge(judge(a,b),c);

printf("%d", m);

}

int judge(int a, int b)

{

return (a > b) ? a : b;

}

第三种-使用中间变量储存最大值

// 3.使用中间变量储存最大值

#include

int main()

{

int a, b, c;

printf("请输入a,b,c");

scanf("%d %d %d", &a, &b, &c);

int t = 0;

if (a > b)

t = a;

else

t = b;

if (c > t)

t = c; //t为最大值

printf("%d", c);

}

第四种-方法3的改进版-使用a储存最大值

// 4.方法3的改进版-使用a储存最大值

#include

int main()

{

int a, b, c;

printf("请输入a,b,c");

scanf("%d %d %d", &a, &b, &c);

if (a

a=b;

if (a

a=c;//a值为最大值

printf("%d",a);

}

第五种-使用&&防止if嵌套

// 5.使用&&防止if嵌套

#include

int main()

{

int a, b, c;

printf("请输入a,b,c");

scanf("%d %d %d", &a, &b, &c);

int max;

if (a > b && a > c)

max = a;

else if

max = b;

else

max = c;

printf("%d",max);

}

都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。

有事没事进来看看吧 : 小王的博客目录索引

更多计算机网络优质博客看这 : 计算机网络专栏博客索引

如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。

  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值