首页 > 编程笔记 > C语言笔记

C语言三个数字输出最大值(3种方法)

在C语言编程中,找出三个数字中的最大值是一个常见的任务,这个问题可以通过多种方法来解决。

1. 使用 if else 语句

最直观的方法是使用嵌套的 if else 语句来比较这三个数字,这种方法易于理解,特别适合初学者。

#include <stdio.h>

int main() {
    int a, b, c, max;
    
    printf("请输入三个整数:");
    scanf("%d %d %d", &a, &b, &c);
    
    if (a >= b && a >= c) {
        max = a;
    } else if (b >= a && b >= c) {
        max = b;
    } else {
        max = c;
    }
    
    printf("最大值是:%d\n", max);
    
    return 0;
}

运行结果:

请输入三个整数:34 90 22↙
最大值是:90

这段代码首先声明了四个整型变量:a、b、c 用于存储用户输入的三个数字,max 用于存储最大值。程序使用 scanf 函数读取用户输入的三个数字,然后通过嵌套的 if else 语句比较这三个数字,将最大值赋给 max 变量。最后,程序输出最大值。

2. 使用三元运算符

另一种更简洁的方法是使用三元运算符,这种方法可以将代码压缩到一行,但可能会降低代码的可读性。

#include <stdio.h>

int main() {
    int a, b, c, max;
    
    printf("请输入三个整数:");
    scanf("%d %d %d", &a, &b, &c);
    
    max = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
    
    printf("最大值是:%d\n", max);
    
    return 0;
}

在这个版本中,我们使用了嵌套的三元运算符来找出最大值。这行代码的逻辑是:首先比较 a 和 b,如果 a 大于 b,则继续比较 a 和 c;否则,比较 b 和 c。虽然这种方法代码量更少,但对于初学者来说可能不太容易理解。

3. 使用标准库函数

C语言的标准库提供了 math.h 头文件,其中包含了 fmax 函数,可以用来找出两个数中的最大值。我们可以利用这个函数来找出三个数中的最大值。

#include <stdio.h>
#include <math.h>

int main() {
    double a, b, c, max;
    
    printf("请输入三个数字:");
    scanf("%lf %lf %lf", &a, &b, &c);
    
    max = fmax(fmax(a, b), c);
    
    printf("最大值是:%.2f\n", max);
    
    return 0;
}

这种方法使用了标准库函数,代码简洁且易于理解。注意,fmax 函数处理的是双精度浮点数(double),所以我们使用%lf作为 scanf 的格式指定符,并将变量声明为 double 类型。这种方法的优点是可以处理浮点数,而不仅仅是整数。


声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。