3 条题解

  • 1
    @ 2023-10-4 15:05:12

    太简单了,我花了整整3秒才想出来

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, a[105], maxn = -1, minn = 999999,pos1,pos2;
        cin >> n;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            if(a[i]>maxn)
            {
                maxn = a[i];
                pos1 = i;
            }
            if(a[i]<minn)
            {
                minn = a[i];
                pos2=i;
            }
        }
        int t = a[pos1];
        a[pos1] = a[pos2];
        a[pos2] = t;
        for(int i=1;i<=n;i++)
            cout << a[i]<<" ";
        return 0;
    }
    
    • 1
      @ 2023-1-20 19:05:57

      看不懂另一个

      #include <iostream>
      using namespace std;
      int n,a[104];
      int main()
      {
          int max=-45,min=99999;
          cin >>n;
          for(int i=1;i<=n;i++)
          {
              cin >> a[i];
              if(a[i]>max)
              {
                  max=a[i];
              }
              if(a[i]<min)
              {
                  min=a[i];
              }
          }
          for(int i=1;i<=n;i++)
          {
              if(a[i]==max)
              {
                  cout << min<<" ";
              }
              else if(a[i]==min)
              {
                  cout <<max<<" ";
              }
              else
              {
                  cout <<a[i]<<" ";
              }
          }
      }
      
      • 0
        @ 2022-10-24 13:11:07

        这道题其实只需要用指针记录max和min的地址。然后循环输出,如果a[i]的地址与max或min的地址相同,就输出题目要求的对应的值。 AC Code

        #include <bits/stdc++.h>
        using namespace std;
        int m,a[1000],maxx=INT_MIN,minn=INT_MAX;
        int main(){
        	cin>>m;
        	int *x=NULL,*n=NULL;
        	for(int i=1;i<=m;i++){
        		cin>>a[i];
        		if(a[i]>maxx){
        			maxx=a[i];
        			x=&a[i];
        		}
        		if(a[i]<minn){
        			minn=a[i];
        			n=&a[i];
        		}
        	}
        	for(int i=1;i<=m;i++){
        		if(&a[i]==x)cout<<minn<<" ";
        		else if(&a[i]==n)cout<<maxx<<" ";
        		else cout<<a[i]<<" ";
        	}
        	return 0;
        }
        
        • 1

        信息

        ID
        232
        时间
        1000ms
        内存
        16MiB
        难度
        1
        标签
        递交数
        49
        已通过
        39
        上传者