首页 > 编程知识 正文

找出三个数中的最大值,c语言三个数求最大值 最简便方法

时间:2023-05-03 10:54:24 阅读:286876 作者:2421

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

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

第一种-使用三元运算符
如名字表示的三元运算符需要三个操作数。
语法为:条件表达式?表达式1:表达式2。
说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。
其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。
这题我们的思路也是一样,在这里我们先用三元运算符求出两个数的最大值,然后用这个最大值与第三个数比较得出真正的最大值。

#include <stdio.h>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 <stdio.h>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 <stdio.h>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 <stdio.h>int main(){int a, b, c; printf("请输入a,b,c"); scanf("%d %d %d", &a, &b, &c); if (a<b) a=b; if (a<c) a=c;//a值为最大值 printf("%d",a);}

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

// 5.使用&&防止if嵌套#include <stdio.h>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(b > a && b > c) max = b; else max = c; printf("%d",max);}

都看到这里了,各位哥哥姐姐俊逸的天空阿姨给贪玩的路人点个赞 关个注 留个言吧,和贪玩的路人一起成长吧,你们的关注是对我最大的支持。
有事没事进来看看吧 : 贪玩的路人的博客目录索引
更多计算机网络优质博客看这 : 计算机网络专栏博客索引

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。