鱼C论坛

 找回密码
 立即注册
查看: 2376|回复: 3

[已解决]一个离奇的想法!!!

[复制链接]
发表于 2022-10-17 22:05:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大佬们,本人脑子里面突然出现一个很离奇的想法,都知道三个数找最大值,用循环和if来找,或者函数直接调用,代码量超级少,但是如果只用if来完成,只能用嵌套或者比较替换,都是那种很麻烦而且代码量很多的冗余代码,现在想请问一下各位大佬们,如果现在有三个数n1,n2,n3,要找到最大值,只允许用if函数来完成(可以用任何运算符、算法、或者封装为函数递归调用等),最好找最大值的代码在10到20行一内(不包括头文件或函数名或定义变量那块的代码,只是从if开始到else结束这块找最大值的代码),我想了好久没有什么思绪,所以就来打扰各位神仙大佬们!!!
最佳答案
2022-10-17 22:15:16
#include <stdio.h>

int main(void) {
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);
    {
        int max = a > b ? (a > c ? a : c) : (b > c ? b : c);
        printf("%d\n", max);
    }
    {
        int max;
        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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-17 22:15:16 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>

int main(void) {
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);
    {
        int max = a > b ? (a > c ? a : c) : (b > c ? b : c);
        printf("%d\n", max);
    }
    {
        int max;
        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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-17 22:19:21 | 显示全部楼层

太牛了,我都忘记了还有三目运算符这个东西了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-17 22:21:04 | 显示全部楼层
另外,if是关键字,不是函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 10:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表