53 条题解

  • 61
    @ 2022-8-20 19:12:41
    #include <iostream>
    using namespace std;
    int main()
    {
        int n, a[11], maxx = 0;
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
        }
        for (int i = 1; i <= n; i++)
        {
            if (a[i] > maxx)
            {
                maxx = a[i];
            }
        }
        for (int i = 1; i <= n; i++)
        {
            if (a[i] == maxx)
            {
                cout << i << endl;
            }
        }
        return 0;
    }
    
    • @ 2022-8-20 19:14:33

      遍历列表再把等于maxx的值所在的i输出就好了

    • @ 2022-8-29 16:37:54

      这是“快速排序”算法,如果当前值大于当前最大值,就将当前最大值更新

    • @ 2023-8-9 18:08:14

      这是数组吧?

  • 10
    @ 2022-4-28 20:12:51

    这里给出思路:

    找数组元素的最大值,一般是这样的。

    在我们输入完数组元素以后,先假设一个极小值,本题由于输入的数字都大于0,

    因此我们定义一个变量maxx=0maxx=0为极小值,也就是数组元素不可能比这个还小。

    然后循环遍历先求出最大值,求完之后,在写一次for循环,输出等于最大值的哪些元素。

    找最大值主要是这样

        int maxx=0;
        for(int i=1;i<=n;i++)
    	{
    		if(a[i]>maxx)
    		{
    			maxx=a[i];
    		}
    	} 
    

    我们可以自己创造数据去模拟这个代码,因为每次如果a[i]大于maxx,我们还会更新maxx的值,那么最后更新不动了,肯定是最大值才造成无法继续更新maxx.

    然后去输出所有的下标。本题要注意,输出是输出位置,因为如果你的循环是从0开始输入,记得输出i+1。

    for(int i=1;i<=n;i++)
        if(a[i]==maxx)
            cout << i <<endl;
    
    

  • 5
    @ 2022-7-27 20:44:43

    用for循环找出最大再一一比较即可

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n,i;
    	int a[11];//数组不越界 
    	int max=0;
    	cin>>n;
    	for(i=1;i<=n;i++)
    	{
    		cin>>a[i];
    		if(a[i]>max)
    		{
    			max=a[i];//得出最大 
    		}
    	}
    	for(i=1;i<=n;i++)
    	{
    		if(a[i]==max)
    		{
    			cout<<i<<endl;//一一比较即可输出 
    		}
    	}
    	return 0;
    } 
    
    • 4
      @ 2022-8-21 21:48:20
      #include <bits/stdc++.h>
      
      using namespace std;
      
      const int N = 1e1 + 5; // 1e1代表10的1次方再乘以1,加5防止越界
      int a[N]; // 定义数组
      
      int main() {
      	int n;
      	scanf("%d", &n); // 输入
      	// 找最大值
      	int mx = 0;
      	for (int i = 1; i <= n; i++) { // 这里i可以从1开始,a[0]会是0,因为全局变量或数组(即定义在代码最上方,不再任何函数里定义的变量或数组)会初始为0
      		scanf("%d", &a[i]);
      		if (a[i] > mx) {
      			mx = a[i];
      		}
      	}
      
      // 遍历列表,把和最大值相等的元素的索引都打印出来
      	for (int i = 1; i <= n; i++) {
      		if (a[i] == mx) {
      			printf("%d\n", i);
      		}
      	}
      	
      	return 0;
      }
      
      • @ 2024-2-1 21:36:34

        没学过printf和scanf/(ㄒoㄒ)/~~

    • 1
      @ 2024-6-10 11:30:49

      ·cpp

      这 才 是 AC 代 码!!!
      #include <iostream>
      using namespace std;
      int main()
      {
          cout<<2<<endl<<4;
          return 0;
      }
      
      • @ 2024-6-10 17:51:27

        真的!!!!!!!!!!!!!!

    • 1
      @ 2024-3-24 8:56:01

      可以先找最大值,再输出最大值的位置。点个赞吧。

      for (int i = 1;i <= n;i++)
      {
          cin >> a[i];
          if (a[i] > maxx)
          {
              maxx = a[i];
          }
      }
      for (int i = 1;i <= n;i++)
      {
          if (a[i] == maxx)
          {
              cout << i << endl;
          }
      }
      
      • 1
        @ 2024-3-13 22:07:07
        #include <bits/stdc++.h>
        #include <cmath>
        #include <iostream>
        using namespace std;
        int a[105],n,maxx=-1;
        int main()
        {
            cin>>n;
            for(int i=1;i<=n;i++){
            	cin>>a[i];
        	}
        	for(int i=1;i<=n;i++){
        		maxx=max(maxx,a[i]);
        	}
        	for(int i=1;i<=n;i++){
        		if(a[i]==maxx){
        			cout<<i<<endl;
        		}
        	}
            return 0;
        }
        
      • 1
        @ 2023-8-19 11:35:42
        #include <iostream>
        using namespace std;
        int main()
        {
            int a,b,c;
            cin>>a;
            int d[a];
            cin>>c;
            d[0]=c;
            for(int i = 1;i<a;i++)
            {
                cin>>b;
                d[i]=b;
                if(c<b)
                {
                    c=b;
                }
            }
            for(int i = 0;i<a;i++)
            {
                if (d[i]==c)
                {
                    cout<<i+1<<endl;
                }
            }
        }
        
        • 0
          @ 2024-5-26 17:20:30

          #include <bits/stdc++.h> using namespace std; int main() { int n,a[10],max = 0; cin >> n; for (int i = 0;i < n;i++) { cin >> a[i]; } for (int i = 0;i < n;i++) { if (a[i] >= max) { max = a[i]; } } for (int i = 0;i < n;i++) { if (a[i] == max) { cout << i + 1 << '\n'; } } return 0; }

          • 0
            @ 2024-5-9 21:24:34
            #include <bits/stdc++.h>
            using namespace std;
            int main()
            {
                int n,maxn=0;//初始化
                cin >> n;//输入数组元素数量
                int a[n];//定义数组
                for (int i=0;i<n;i++)
                {
                    cin >> a[i];//输入数组元素
                    {
                        if (a[i] > maxn)//找最大的数组元素
                        {
                            maxn=a[i];//设为maxn
                        }
                    }
            
                }
                for (int i=0;i<n;i++)
                {
                    if (a[i] == maxn)//找到等于maxn的元素
                    {
                        cout << i+1 << endl;输出a[i]的位置
                    }
                }
                return 0;
            }
            
            • 0
              @ 2024-3-25 20:18:33

              🎉️

              • 0
                @ 2024-3-17 15:52:46
                #include <iostream>
                using namespace std;
                int main()
                {
                    int n, a[11], maxx = 0;
                    cin >> n;
                    for (int i = 1; i <= n; i++)
                    {
                        cin >> a[i];
                    }
                    for (int i = 1; i <= n; i++)
                    {
                        if (a[i] > maxx)
                        {
                            maxx = a[i];
                        }
                    }
                    for (int i = 1; i <= n; i++)
                    {
                        if (a[i] == maxx)
                        {
                            cout << i << endl;
                        }
                    }
                    return 0;
                }
                

                //不会有人还不会呢吧……

                • 0
                  @ 2024-2-1 21:34:07

                  image


                  直接上代码↓

                  #include <bits/stdc++.h> 
                  using namespace std;
                  int n,a[15],maxx;//a用来存储n个正数,maxx用来存储最大值的值 
                  int main()
                  {
                  	cin>>n;//输入n 
                  	for(int i=1;i<=n;i++)//输入n个正数 
                  	{
                  		cin>>a[i]; 
                  	}
                  	for(int i=1;i<=n;i++)
                  	{
                  		maxx=max(a[i],maxx); //max函数大家都会吧 
                  	}
                  	//注意!!!这里不能直接输出,因为若有多个最大数则都要输出
                  	for(int i=1;i<=n;i++)
                  	{
                  		if(a[i]==maxx)//如果a[i]是最大值 
                  		{
                  			cout<<i<<endl;//输出它的位置,注意要换行 
                  		} 
                  	}
                  	return 0;
                  }
                  //自创代码,求赞!!!!!!! 
                  

                  image

                  • 0
                    @ 2023-8-7 10:11:33
                    
                    {
                        int n,a[100],y = 0;
                        cin >> n;
                        for (int i = 1; i <= n; i++)
                        {
                            cin >> a[i];
                            if (y < a[i])
                            {
                                y = a[i];
                            }
                        }
                        for (int i = 1;i <= n; i++)
                        {
                            if (a[i] == y)
                            {
                                cout << i << endl;
                            }
                        }
                        return 0;
                    }
                    

                    只显示主干部分吧,之前都是全写的

                    • 0
                      @ 2023-2-1 19:47:29

                      非常简单

                      首先创建一个数组,在里面写入数据

                      int a[10],n,max=0;
                      cin>>n;
                      for(int i=0;i<n;i++)
                      {
                          cin>>a[i];
                      }
                      

                      然后通过循环加上if不断筛选得到最大数 `

                      for(int i=0;i<n;i++)
                         {
                              if(max<a[i])
                              {
                                  max=a[i];
                              }
                          }
                      

                      最后使用循环选出所有最大数并输出

                      for(int i=0;i<n;i++)
                         {
                              if(max==a[i])
                              {
                                  cout<<i+1<<"\n";
                              }
                          }
                      
                      • 0
                        @ 2022-9-16 22:51:03

                        这道题一如既往的简单。

                        老规矩,定义+输入数组。

                        int n; 
                        cin >> n;
                        int a[n + 1];
                        for (int i = 1; i <= n; i++)
                        {
                            cin >> a[i];
                        }
                        

                        然后找出最大数(我愿称之为打擂比较法,一个与一个打擂,决出最强的)。

                        int big = -114514;
                        for (int i = 1; i <= n; i++)
                        {
                            if (a[i] > big) big = a[i];
                        }
                        

                        最后的最后,输出所有最大数的位置。

                        for (int i = 1; i <= n; i++)
                        {
                            if (a[i] == big) cout << i << endl;
                        }
                        

                        废话不多说,上代码!

                        #include<bits/stdc++.h>
                        using namespace std;
                        int main()
                        {
                            int n; 
                            cin >> n;
                            int a[n + 1];
                            for (int i = 1; i <= n; i++)
                            {
                                cin >> a[i];
                            }
                            int big = -114514;
                            for (int i = 1; i <= n; i++)
                            {
                                if (a[i] > big) big = a[i];
                            }
                            for (int i = 1; i <= n; i++)
                            {
                                if (a[i] == big) cout << i << endl;
                            }
                        	re turn 0; 
                        }
                        

                        小盆友们,您学会了吗?

                        复制? 代码不易,先点赞,再复制吧! (不要忘了删倒数第二行的空格!)

                        • 0
                          @ 2022-8-29 14:27:29
                          #include<iostream>
                          using namespace std;
                          int main()
                          {
                          int n,a[100],x = 0;
                          cin >> n;
                          for (int i = 1; i <= n; i++)
                          {
                          cin >> a[i];
                          }
                          for (int i = 1; i <= n; i++)
                          {
                          if (a[i] > x)
                          {
                          x = a[i];
                          }
                          }
                          for (int i = 1; i <= n; i++)
                          {
                          if (a[i] == x)
                          {
                          cout << i << endl;
                          }
                          }
                          return 0;
                          }
                          
                          • 0
                            @ 2022-8-24 11:00:05

                            这段代码看似复杂,其实分层次理解会很简单。下面,就有我来给大家深层剖析一下代码吧! 希望我的剖析能给大家带来帮助!!!

                            #include <iostream> using namespace std; int main() { int n, a[10], num = 0;//首先我们定义一个足够大的数组! cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; }//依次输入数组中的n个数! for (int i = 0; i < n; i++) { if (a[i + 1] > num) { num = a[i]; } }//遍历数组,一点一点找到最大的数! for (int i = 0; i < n; i++) { if (a[i] == num) { cout << i + 1 << endl; } else { continue; }//这一步是看看有没有相同的最大的数! } return 0;//看看简不简单?? }

                            • 0
                              @ 2022-8-24 10:50:49

                              #include <iostream> using namespace std; int main() { int n, a[10], num = 0;//首先我们定义一个足够大的数组! cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; }//依次输入数组中的n个数! for (int i = 0; i < n; i++) { if (a[i + 1] > num) { num = a[i]; } }//遍历数组,一点一点找到最大的数! for (int i = 0; i < n; i++) { if (a[i] == num) { cout << i + 1 << endl; } else { continue; }//这一步是看看有没有相同的最大的数! } return 0;//看看简不简单?? }

                              • 0
                                @ 2022-8-22 16:29:15

                                核心代码:for循环以及for与if的嵌套判断

                                for(int i=1;i<=n;i++)
                                        if(a[i]>num)
                                            num=a[i];//找到最大数
                                for(int i=1;i<=n;i++)
                                        if(a[i]==num)//判断是否有相同的最大数
                                            cout<<i<<endl;//输出最大数的位置
                                        else
                                            continue;
                                

                                完整代码:

                                #include<bits/stdc++.h>
                                using namespace std;
                                int main()
                                {
                                    int n,a[100],num=0;
                                    cin>>n;
                                    for(int i=1;i<=n;i++)
                                        cin>>a[i];//输入数组a
                                    for(int i=1;i<=n;i++)
                                        if(a[i]>num)
                                            num=a[i];//找到最大数
                                    for(int i=1;i<=n;i++)
                                        if(a[i]==num)//判断是否有相同的最大数
                                            cout<<i<<endl;//输出最大数的位置
                                        else
                                            continue;
                                    return 0;
                                }
                                

                                信息

                                ID
                                170
                                时间
                                1000ms
                                内存
                                16MiB
                                难度
                                4
                                标签
                                递交数
                                6393
                                已通过
                                2769
                                上传者