题目 1041: [编程入门]宏定义之找最大数

问题描述:

分别用函数和带参的宏,从三个数中找出最大的数。

样例输入:

1 2 3

样例输出:

3.000

3.000

代码分析:

函数与宏的使用:
函数 max() 用于找出三个实数中的最大值,通过比较大小并更新变量 max 的值来实现。
宏 MAX_MACRO 也是用于找出三个实数中的最大值,通过嵌套的条件表达式来实现。

代码实现:

#include <stdio.h>

// 函数找出最大值
double max(double a, double b, double c) {
    double max = a;
    if (b > max) {
        max = b;
    }
    if (c > max) {
        max = c;
    }
    return max;
}

// 宏找出最大值
#define MAX_MACRO(a, b, c) ((a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c))

int main() {
    double num1, num2, num3;
    scanf("%lf %lf %lf", &num1, &num2, &num3);
    
    // 使用函数找出最大值
    double result_func = max(num1, num2, num3);
    printf("%.3lf\n", result_func);
    
    // 使用宏找出最大值
    double result_macro = MAX_MACRO(num1, num2, num3);
    printf("%.3lf\n", result_macro);
    
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值