怎么做啊求帮我解答!

写一个c++要求:写入8个正整数找出最大的和最小的。并且最大的和最后一个数交换位置,最小的和第一个数交换位置,并倒序输出。

#include <iostream>
#include <algorithm>
using namespace std;
int main() {
    int n=8;
    int a[8];
    //写入8个正整数
    for(int i=0; i<n; i++)    cin>>a[i];
    //定义最小值
    int min=a[0];
    //定义最大值
    int max=a[0];
    for(int i=0; i<n; i++) {
        if(a[i]<min) {
            min=a[i];
        }
        if(a[i]>max) {
            max=a[i];
        }
    }
    //交换最小值
    swap(*min_element(a,a+n),a[0]);
    swap(*max_element(a,a+n),a[n-1]);
    cout<<"最小值是:"<<min;
    cout<<"最大值是:"<<max;
    //倒序输出
    cout<<"\n倒序输出结果:";
    for(int i=n; i>=0; i--)cout<<" "<<a[i];
    return 0;
}

img

#include<bits/stdc++.h>
using namespace std;

int main(){
    int a[9];
    int maxx = 0, minn = 1e9, ma, mi;
    for (int i = 1; i <= 8; ++i) {
        cin >> a[i];
        if (a[i] > maxx) {
            maxx = a[i];
            ma = i;
        }
        if (a[i] < minn) {
            minn = a[i];
            mi = i;
        }
    }
    
//    cout << maxx << " " << minn << " " << ma << " " << mi << endl;

//    cout << a[mi] << " " << mi << " " << a[8];
    swap(a[mi], a[8]);
    swap(a[ma], a[1]);
    
    for (int i = 1; i <= 8; ++i) {
        cout << a[i] << " ";
    }
}

电脑没开机,手机AIDE Web打的代码,无法编译,如果有问题,改一下就行了,改不了回复我,问题应该不会很大,但思路就如代码这样

#include <iostream>
#include <vector>

using namespace std;

int main(void){
     //用到的vector
       vector<int> num,num2;
       num.resize(8);
       num2.resize(8);
        int maxIndex = 0,minIndex = 0;
        int temp = 0;
       for(int i = 0;i < 8;i++){
           cin >> num[i];
           //判断输入的数字
           if(num[i] > maxIndex)maxIndex = i;
           if(num[i] < minIndex)minIndex  = i;
      }
      
      //互换位置
      temp = num[maxIndex];
      num[maxIndex] = num[0];
      num[0]  = temp;
      temp = num[minIndex];
      num[minIndex] = num[7];
      num[7] = temp;
      
      //反转的开头与反转的结尾复制到num2的开头
      copy(num.rbegin(),num.rend(),num2.begin());
      
      for(int x : num2)cout << x << endl;
      
      return 0;
}