FengYue20 发表于 2022-10-17 22:05:05

一个离奇的想法!!!

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

人造人 发表于 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;
}

FengYue20 发表于 2022-10-17 22:19:21

人造人 发表于 2022-10-17 22:15


太牛了,我都忘记了还有三目运算符这个东西了!!!

人造人 发表于 2022-10-17 22:21:04

另外,if是关键字,不是函数
页: [1]
查看完整版本: 一个离奇的想法!!!