跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 工具系统 > 数据分析 > 求三个数最大值 C语言五种写法

求三个数最大值 C语言五种写法

时间:2024-04-06 16:40:34 来源:网络cs 作者:利杜鹃 栏目:数据分析 阅读:

标签: 语言  写法 

一、if嵌套语句

      注意大于号和小于号。

      if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。

1-120129203325F3.jpg

      第二种形式为: if-else
if(表达式) 
    语句1;
else 
    语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

1-1201292039355E.jpg

#include<stdio.h>int main(){    int a, b, c, max;    scanf("%d%d%d", &a, &b, &c);    if (a > b)    {        if (a > c)            max = a;        else            max = c;    }    else    {        if (b > c)            max = b;        else            max = c;    }    printf("%d\n", max);    return 0;}

二、三目运算符

     运用三目运算符(x?y:z;)简便运算。

     对于条件表达式x ? y : z;先计算条件x,然后进行判断。如果b的值为true,计算y的值,运算结果为y的值;否则,计算z的值,运算结果为z的值。一个条件表达式绝不会既计算y,又计算z。

     ? : ; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。

     可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。

即为

if(x) {    return y;} else {    return z; }

     注意:在C语言中,结果1 和 结果2的类型必须一致。

#include<stdio.h>int main(){    int a, b, c, max;    scanf("%d%d%d", &a, &b, &c);    max = a > b ? a : b;    max = max > c ? max : c;    printf("%d\n", max);    return 0;}

当然还有最厉害的三目运算符直接ok

#include <stdio.h>int main(){    int a = 10, b = 20, c = 30, min; //定义四个整型变量,并给前三个赋值    min = a < b ? (a < c ? a : c) : (b < c ? b : c); //用条件运算符求出最小值    printf("最小值是:%d\n", min); //输出最小值    return 0;}

三、妙用中间变量

      定义一个中间变量 m,假设它是最大值,并和a,b,c比较。、

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

四、巧用赋值

       假定其中一个值为最大值,将实际最大值赋值于它,最后输出

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

五、运用子函数

      调用函数寻找最大值,让主函数简洁。

#include<stdio.h>int max(int x, int y){    return x > y ? x : y;}int main(){    int a, b, c, m;    scanf("%d%d%d", &a, &b, &c);    printf("%d", max(max(a, b), c));    return 0;}

(补充)任意个数求最大值(假设10个数)

      运用for循环,遍历对比数组,假定中间量为最大值。

#include<stdio.h>int main(){    int i = 0;    int arr[10] = {0};    int max = 0;  //定义变量max用来作比较    for (i = 0; i < 10; i++)    {        scanf("%d", &arr[i]);    //输入整数    }    for (i = 0; i < 10; i++)    {        if (max < arr[i])            max = arr[i];    }    printf("最大值为%d\n", max);    return 0;}

本文链接:https://www.kjpai.cn/news/2024-04-06/154889.html,文章来源:网络cs,作者:利杜鹃,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论