34 条题解

  • 114
    @ 2022-8-9 21:19:04

    这一题先定义变量 b 和 c 来分别存储 最大值 和 最小值 的索引,然后一次输入求出 最大值 and 最小值 ,最后输出 b 和 c 即可(注意空格,c++注重格式!)

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, x, b = 0, c = 0, max = 0, min = 99999999;
        cin >> n;
        for (int i=1;i<=n;i++)
        {
            cin >> x;
            if (x > max)
            {
                max = x;
                b = i;
            }
            if (x < min)
            {
                min = x;
                c = i;
            }
        }
        cout << b << " " << c;
        return 0;
    }
    

    大佬们,喜欢的点个赞吧~ 不喜欢的点个踩吧

    • @ 2023-8-14 12:27:04

      大佬们?????????????????????????????????? 你才是大大好不好

    • @ 2023-8-18 18:49:39

      大家可以多往下划一划,看一看新的题解

    • @ 2023-8-18 18:52:08

      这题其实有更简单的法子

    • @ 2023-8-20 11:48:21

      错的

    • @ 2023-8-20 11:50:32

      别信

    • @ 2023-8-25 20:48:31

      你的题解是最好的,我每次都看你的

    • @ 2023-8-25 20:49:15

      他的我复制过,AC了@

    • @ 2023-8-25 20:49:59

      你才是大佬好不好

    • @ 2023-8-26 17:14:13

      @ 你干嘛~嗨害害~~~

    • @ 2024-2-1 14:08:51

      啊对对对。

  • 18
    @ 2022-12-24 21:33:11

    基础版

    #include <iostream>
    using namespace std;
    int main()
    {
    	int a[1000], n, i, max = 0, min = 0;
    	cin >> n;
    	for (i = 0; i < n; i++)
        {
    		cin >> a[i];
    		if (a[i] > a[max])
            {
    			max = i;
    		}
    		
    		if (a[i] < a[min])
            {
    			min = i;
    		}
    	}
    	cout << max + 1 << " " << min + 1;
        return 0;
    }
    

    加强版

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
    	cin >> n;
    	int a[n];
    	for (int i = 0; i < n; i++)
    	{
    		cin >> a[i];
    	}
    	int max = a[0], x = 0;
    	int min = a[0], y = 0;
    	for (int i = 0; i < n;i++)
    	{
    		if (a[i] >= max)
    		{
    			max = a[i];
    			x = i;
    		}
    		else if (a[i] <= min)
    		{
    			min = a[i];
    			y = i;
    		}
        }
        cout << x + 1 << " " << y + 1;
    	return 0;
    }
    
    • @ 2023-8-26 17:10:20

      我怎么觉得基础版比加强版还简便啊?!-。-

  • 10
    @ 2023-8-3 16:39:21

    还是一道比较倾向数学的编程题 就是数学题 比较简单啦,看题解吧👀️

    #include<iostream>
    using namespace std;
    int main()
    {
        int n , a[100] , max = 0,min = 0;
    //定义四个变量,分别储存人数,学号,最大学号索引,最小学号索引(初始索引是0,则是对应第一个人的学号
        cin >> n;
        for (int i = 0;i < n; i++)
        {
            cin >> a[i];
            if (a[i] > a[max])//比较大小
            {
                max = i;//max是较大数的索引
            }
            if (a[i] < a[min])
            {
                min = i;//min是较小数的索引
            }
        }
        cout << max + 1 << " " << min + 1;//最后输出的编号是索引+1
        return 0;
    }
    

    算是比较简单了吧 大佬点个赞再走吧👀️

    • 8
      @ 2023-8-13 16:17:47

      新手题解👀️ 注意这种写法输出的时候写两个for循环,,写在一起可能会先输出最小学号后输出最大学号(亲测

      #include <iostream>
      using namespace std;
      int main()
      {
          int n, a[100], amin = 1000000, amax = 0;
          cin >> n;
          for (int i = 0; i < n; i++)
          {
              cin >> a[i];
          }
          for (int i = 0; i < n; i++)
          {
              if (a[i] > amax)
              {
                  amax = a[i];
              }
              if (a[i] < amin)
              {
                  amin = a[i];
              }
          }
          for (int i = 0; i < n; i++)
          {
              if (a[i] == amax)
              {
                  cout << i + 1 << " ";
              }
          }
          for (int i = 0; i < n; i++)
          {
              if (a[i] == amin)
              {
                  cout << i + 1 << " ";
              }
          }
          return 0;
      }
      
    • 6
      @ 2023-8-5 9:00:37
      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n;
      	cin >> n;
      	int a[n];
      	for (int i = 0; i < n; i++)
      	{
      		cin >> a[i];
      	}
      	int max = a[0], x = 0;
      	int min = a[0], y = 0;
      	for (int i = 0; i < n;i++)
      	{
      		if (a[i] >= max)
      		{
      			max = a[i];
      			x = i;
      		}
      		else if (a[i] <= min)
      		{
      			min = a[i];
      			y = i;
      		}
          }
          cout << x + 1 << " " << y + 1;
      	return 0;
      }
      
      
      • 6
        @ 2023-5-11 19:35:10

        题解来喽!!! 首先,我们先要判断最大学号,用maxn来记录最大数,用x来记录位置。然后在判断最小学号,用minn来记录最小数,y来记录位置。最后输出x和y即可。

        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
            int n,a[101],maxn=-1,minn=101,x=0,y=0;
            cin>>n;
            for(int i=1;i<=n;i++)
            {
                cin>>a[i];
            }
            for(int i=1;i<=n;i++)
            {
                if(a[i]>maxn) 
                {
                    maxn=a[i];
                    x=i;
                }
            }//求最大学号的位置
            for(int i=1;i<=n;i++)
            {
                if(a[i]<minn) 
                {
                    minn=a[i];
                    y=i;
                }
            }//求最小学号的位置
            cout<<x<<" "<<y;
            return 0;
        }
        
        • 5
          @ 2023-3-29 7:07:15
          #include<bits/stdc++.h>
          using namespace std;
          int main()
          {
              int n,x,y,xx,ma=0,mi=100000007;
              cin>>n;
              for (int i=1;i<=n;i++)
              {
                  cin>>xx;
                  if (xx>ma)
                  {
                      ma=xx;
                      x=i;
                  }
                  if (xx<mi)
                  {
                      mi=xx;
                      y=i;
                  }
              }
              cout<<x<<" "<<y<<'\n';
              return 0;
          }
          
          • 5
            @ 2022-12-16 16:20:56
            #include<bits/stdc++.h>
            using namespace std;
            int main(){
                int n,a[101],f1,f2;
                cin>>n;
                for(int i=1;i<=n;i++){
                    cin>>a[i];
                }
                int maxn=a[1];
                int minn=a[1];
                for(int i=1;i<=n;i++){
                    if(maxn<a[i]){
                        maxn=a[i];
                        f1=i;
                    }
                    if(minn>a[i]){
                        minn=a[i];
                        f2=i;
                    }
                }
                cout<<f1<<" "<<f2;
                return 0;
            }
            
          • 4
            @ 2023-8-8 10:03:08
            #include <bits/stdc++.h>
            using namespace std;
            int main()
            {
                int n;
            	cin >> n;
            	int a[n];
            	for (int i = 0; i < n; i++)
            	{
            		cin >> a[i];
            	}
            	int max = a[0], x = 0;
            	int min = a[0], y = 0;
            	for (int i = 0; i < n;i++)
            	{
            		if (a[i] >= max)
            		{
            			max = a[i];
            			x = i;
            		}
            		else if (a[i] <= min)
            		{
            			min = a[i];
            			y = i;
            		}
                }
                cout << x + 1 << " " << y + 1;
            	return 0;
            }
            
            • 3
              @ 2023-8-23 10:54:38
              很菜,但只能想出来这一种。
              #include <iostream>
              using namespace std;
              int main()
              {
                  int n,da=0,xiao=101,d1,x1,x;
                  cin >> n;
                  for (int i=1;i<=n;i++)
                  {
                      cin >> x;
                      if (x>da)
                      {
                          da=x;
                          d1=i;
                      }
                      if (x<xiao)
                      {
                          xiao=x;
                          x1=i;
                      }
                  }
                  cout << d1 << ' ' << x1;
                  return 0;
              }
              点个赞吧!已AC✔
              可复制
              
              • 2
                @ 2024-1-25 16:33:52

                很简单~~~找到最值之后再使用for循环遍历数组找到其位置,并把其下标+1输出即可!!(very easy)

                #include <iostream>
                using  namespace std;
                int main()
                {
                    int a,max1,min1;
                    cin>>a;
                    int b[a];
                    for (int i=0;i<a;i++)
                    {
                        cin>>b[i];
                    }
                    max1=b[0];
                    min1=b[0];
                    for (int i=0;i<a;i++)
                    {
                        if (b[i]>max1)
                        {
                            max1=b[i];
                        }
                        if (b[i]<min1)
                        {
                            min1=b[i];
                        }
                    }
                    for (int i=0;i<a;i++)
                    {
                        if (b[i]==max1)
                        {
                            cout<<i+1<<" ";
                        }
                    }
                    for (int i=0;i<a;i++)
                    {
                        if (b[i]==min1)
                        {
                            cout<<i+1;
                        }
                    }
                    return 0;
                }
                
                • 2
                  @ 2023-8-16 18:42:07
                  for (int i = 0;i<n;i++){
                          cin >> a[i];
                          if (a[i]>max) max = a[i];
                          if (a[i]<min) min = a[i];
                      }
                      for (int i = 0;i<n;i++) if (a[i] == max) cout << i+1 << ' ';
                      for (int i = 0;i<n;i++) if (a[i] == min) cout << i+1 << ' ';
                  

                  先找出最大值和最小值再求出索引打印出来

                  • 2
                    @ 2023-8-12 13:39:54
                    
                    
                    • 2
                      @ 2023-8-11 14:30:00
                      #include <bits/stdc++.h>
                      
                      using namespace std;
                      
                      int main()
                      {
                          int n, a[100], ma = 0, mi = 100000, mah, mih;
                          cin >> n;
                      
                          for (int i = 0; i < n; i++)
                          {
                              cin >> a[i];
                              if (a[i] > ma)
                              {
                                  ma = a[i];
                              }
                              if (a[i] < mi)
                              {
                                  mi = a[i];
                              }
                          }
                      
                          for (int i = 0; i < n; i++)
                          {
                              if (a[i] == ma)
                              {
                                  mah = i + 1;
                              }
                              if (a[i] == mi)
                              {
                                  mih = i + 1;
                              }
                          }
                      
                          cout << mah << " " << mih;
                          
                          return 0;
                      }
                      
                      
                      • 2
                        @ 2023-8-7 10:14:27

                        so easy 有点难度的其实

                        #include<bits/stdc++.h>
                        using namespace std;
                        void a(int n){
                        int _max=0,_min=0,x=0,a,b;
                        cin>>x;
                        _max=x;
                        a=1;
                        _min=x;
                        b=1;
                        for (int i=2;i<=n;i++){
                        cin>>x;
                        if (x>_max){
                            _max=x;
                            a=i;
                        }
                        if (x<_min){
                            _min=x;
                            b=i;
                        }
                        }
                        cout<<a<<" "<<b;
                        }
                        int main(){
                        int n;cin>>n;a(n);
                        }
                        

                        这道题要定义好变量,可以用max做最大值,a做索引,—min做最小值,b做索引。 做法不一,你可以发挥自己的力量,改编一下,也许。。。更好?min的定义值不止一个可能! 关注我--主函数第一人

                        • 2
                          @ 2022-10-16 20:43:28
                          #include <bits/stdc++.h>
                          using namespace std;
                          int n,a[101],maxx=-1,minn=999999,pos1,pos2;
                          int main()
                          {
                          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];//更新最大值
                          pos1=i;//更新最大值位置
                          }
                          if (a[i]<minn)
                          {
                          minn=a[i];//更新最小值
                          pos=i;//更新最小值位置
                          }
                          }
                          cout<<pos1<<" "<<pos2;
                          return 0;
                          }
                          
                        • 1
                          @ 2024-5-9 22:24:16

                          !!!养成好习惯,先点赞在看!!! 本题很简单,学好如何求最大数和最小数就可以回答。废话不多说,直接上代码!

                          #include <bits/stdc++.h>
                          using namespace std;
                          int main()
                          {
                              int n,a[100],minn=101,maxn=0,p1,p2;
                              cin >> n;
                              for (int i=0;i<n;i++)//遍历数组
                              {
                                  cin >> a[i];//输入元素
                                  if (a[i] > maxn)//找maxn
                                  {
                                      maxn = a[i];
                                      p1=i+1;//记住位置
                                  }
                                  if (a[i] < minn)//找minn
                                  {
                                      minn = a[i];
                                      p2=i+1;//一样,记住位置
                                  }
                              }
                              cout << p1 << " " << p2;//输出位置
                              return 0;
                          }
                          

                          编码不易,点个赞吧,谢谢!

                          • 1
                            @ 2023-12-17 11:18:47

                            ~多此一举算法~

                            #include <bits/stdc++.h>
                            using namespace std;
                            
                            struct a
                            {
                                short pos;
                                int value;
                            };
                            
                            
                            int main()
                            {
                                int n, temp;
                                a max, min;
                                max.pos, min.pos = 0;
                                max.value = -1000000000;
                                min.value = 1000000000;
                                scanf("%i", &n);
                                for (short i = 1; i <= n; i++)
                                {
                                    scanf("%i", &temp);
                                    if(temp > max.value)
                                    {
                                        max.value = temp;
                                        max.pos = i;
                                    }
                                    if(temp < min.value)
                                    {
                                        min.value = temp;
                                        min.pos = i;
                                    }
                                }
                                printf("%i %i", max.pos, min.pos);
                                return 0;
                            }
                            
                            • 1
                              @ 2023-10-22 21:19:57

                              简单所以直接上代码

                              #include <bits/stdc++.h>
                              using namespace std;
                              int main()
                              {
                                  int n,a[105],maxx=0,minn=10000,d,b;
                                  cin>>n;
                                  for (int i=1;i<=n;i++)
                                  {
                                      cin>>a[i];
                                      if (a[i]>maxx)
                                      {
                                          maxx=a[i];
                                          d=i;
                                      }
                                      if (a[i]<minn)
                                      {
                                          minn=a[i];
                                          b=i;
                                      }
                                  }
                                  cout<<d<<" "<<b;
                                  return 0;
                              }
                              
                              • 1
                                @ 2023-8-28 16:24:53

                                本蒟蒻的第114514篇题解

                                真是一道非常困(简)难(单)的难度5的题啊!


                                题目传送门:P425 【入门】找同学的位置 先理一下思路,这道题就是定义一个数组,数组的大小先输入进去,然后找到最大值和最小值,确定他们的位置,然后输出就行了


                                AC代码如下(附注释):

                                #include <bits/stdc++.h>//定义万能头文件
                                using namespace std;//创建命名空间
                                int main ()//我不信你不写
                                {
                                	int a, b[105], maxn = -114514, minn = 114514, c, d;//定义人数变量a、储存学号的数组b、存放最大值的变量maxn和存放最小值的变量minn,值可以改变。然后再定义存放位置的变量c和d
                                	cin >> a;//输入a
                                	for (int i = 1; i <= a; i++)//循环输入数组
                                	{
                                		cin >> b[i];//输入
                                		if (b[i] > maxn)//判断如果这个数比最大值大
                                		{
                                			maxn = b[i];//那么这个编号就是最大的了。
                                			c = i;//找到它的位置,用c标记
                                		}
                                		if (b[i] < minn)//如果这个数比最小值小
                                		{
                                			minn = b[i];//那么这个编号就是最小的
                                			d = i;//用d标记位置
                                		}
                                	}
                                	cout << c << " " << d;//输出,记住中间有一个空格
                                	return 0;//保持return 0的好习惯
                                }
                                
                                完结撒花!!!🎉️ 🎉️ 🎉️ 真不戳!!!

                                信息

                                ID
                                425
                                时间
                                1000ms
                                内存
                                16MiB
                                难度
                                5
                                标签
                                递交数
                                6249
                                已通过
                                2327
                                上传者