Skip to content

1.5 习题 1.2 例子

源码

c
#include <stdio.h> // 引入标准输入输出库头文件

int main()
{
    int a, b, c, max; // 定义四个整数变量a, b, c和max

    scanf("%d,%d,%d", &a, &b, &c); // 读取用户输入的三个整数,并赋值给a, b, c

    if (a > b) // 判断a是否大于b
    {
        max = a > c ? a : c; // 如果a大于b,再判断a和c哪个更大,将较大的值赋给max
    }
    else
    {
        max = b > c ? b : c; // 如果b大于或等于a,再判断b和c哪个更大,将较大的值赋给max
    }
    printf("max=%d\n", max); // 打印最大值max
    return 0; // 程序正常结束
}

解释

这个程序演示了如何从用户输入中读取三个整数,并计算出这三个数中的最大值。

  1. 首先,程序通过scanf函数从标准输入读取三个整数值,并将它们分别赋值给变量ab、和c。用户在输入时需要用逗号,分隔这三个数,例如10,20,15

  2. 程序使用了一个if-else语句来比较这三个数。首先,它比较ab。如果a大于b,程序进入第一个分支,然后使用条件运算符(? :)来判断ac哪个更大,将较大的值赋给max

  3. 如果a不大于b(即b大于或等于a),程序进入else分支。同样使用条件运算符来判断bc哪个更大,并将较大的值赋给max

  4. 最后,程序使用printf函数打印出三个数中的最大值。

这个程序通过嵌套的条件判断逻辑演示了如何在三个数中找到最大值,展示了条件运算符的使用,以及如何从标准输入读取和处理用户输入的数据。