众所周知 max函数一次只能填两个参数(max(1,2,3)不合法) 所以我写出来了以下代码:

#include<bits/stdc++.h>

using namespace std;

int main()
{
	
	int a[16];
	
	for(int i = 0; i < 16; i++){
		
		cin >> a[i];
	}
	
	cout << max(max(max(max(a[0],a[1]),max(a[2],a[3])),max(max(a[4],a[5]),max(a[6],a[7]))),max(max(max(a[8],a[9]),max(a[10],a[11])),max(max(a[12],a[13]),max(a[14],a[15]))));
	
	return 0;
}

我的代码可以判断十六个数中的最大数 并且判断时没有用到for循环 十分的简洁

6 comments

  • @ 2024-8-11 0:43:41

    abab

    • @ 2024-7-22 19:58:53

      max({a,b,c})

      • @ 2024-7-22 21:58:46

        我写出来会ERROR啊

      • @ 2024-7-22 22:20:06

        [Error] no matching function for call to 'max()'

      • @ 2024-7-23 17:03:57

        要引入 <algorithm><algorithm>,并且C++11版本以上,dev的编译器选项添加-O2 -std=c++14 -Wall @

      • @ 2024-7-23 19:49:40
        #include<bits/stdc++.h>
        
        using namespace std;
        
        int main()
        {
            double a,b,c;
            cin >> a >> b >> c;
        
            cout << min({a,b,c}) << " ";
        
            if(min({a,b,c}) == a){
        
                cout << min(b,c) << " " << max(b,c);
            }
        
            else if(min({a,b,c}) == b){
        
                cout <<  min(a,c) << " " << max(a,c);
            }
        
            else{
        
                cout << min(b,a) << " " << max(b,a);
            }
        
            return 0;
        }
        
      • @ 2024-7-23 19:49:52

        谢谢 学会了

      • @ 2024-7-23 19:51:03

        【例19.3】田忌赛马穷举解法

      • @ 2024-7-23 19:51:51

        C++98不能用

      • @ 2024-7-23 19:52:48

        我明天下个C++20

      • @ 2024-7-24 23:18:19

        那倒也没必要,ccf的都默认c++14 开 o2百度一下配置一次就好了@

    • @ 2024-7-22 18:01:28

      陈锦润发病了

      • @ 2024-7-22 18:01:15

        哪一题

        • @ 2024-7-22 12:30:32

          我的目标是写到能判断256个数

          • @ 2024-7-22 12:34:55

            理论上来说我可以把C++写到崩溃

          • @ 2024-7-22 12:36:07

            给我刷个小丑 刷到5个我明天就把256个数写出来

          • @ 2024-7-22 14:34:30

            喜报!我的代码现在已经能判断到32个数了!

          • @ 2024-7-22 14:35:57
            #include<bits/stdc++.h>
            
            using namespace std;
            
            int main()
            {
            	
            	long long a[32];
            	
            	for(int i = 0; i < 32; i++){
            		
            		cin >> a[i];
            	}
            	
            	cout << max(max(max(max(max(a[0],a[1]),max(a[2],a[3])),max(max(a[4],a[5]),max(a[6],a[7]))),max(max(max(a[8],a[9]),max(a[10],a[11])),max(max(a[12],a[13]),max(a[14],a[15])))),max(max(max(max(a[16],a[17]),max(a[18],a[19])),max(max(a[20],a[21]),max(a[22],a[23]))),max(max(max(a[24],a[25]),max(a[26],a[27])),max(max(a[28],a[29]),max(a[30],a[31])))));
            	
            	return 0;
            }
            
          • @ 2024-7-30 19:04:13

            @???

        • @ 2024-7-22 12:29:38

          是不是十分的简单快捷?快学起来吧

          • @ 2024-7-30 19:04:58

            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

        • 1