大一新人,求大佬指出错误

算出来的最大值不对 导致最后交换出来的值不对我不知道错在哪😭#include<iostream>using namespace std;void swap(int*,int*);int max_a(int a[]){int max;int index_max=0;for(int i=0;i<10;i++)if(a[i]>max){max=a[i];index_max=i;return index_max;}}int min_b(int a[]){int index_min=0;int min;for(int i=0;i<10;i++)if(a[i]>min){min=a[i];index_min=i;return index_min;}}int input(int a[]){cout<<"请输入10个数;"<<endl;for(int i=0;i<10;i++){cin>>a[i];}}int output(int a[]){ //输出函数,输出数组a中的所有元素for(int i=0;i<10;i++) cout<<a[i]<<" ";}int main(){int a[10]; //定义数组input(a); //调用函数input接收输入,初始化数组aoutput(a); //调用函数output,输出初始化后的数组aint index_max = max_a(a); //调用max函数找到数组a中最大元素的下标swap(&a[index_max],&a[9]); //调用swap函数交换最大元素与最后一个元素 a[9]int index_min = min_b(a);//调用min函数找到数组a中最小元素的下标swap(&a[index_min],&a[0]); //调用swap函数交换最小元素与第一个元素 a[0]output(a); //调用函数output,输出交换完成后的数组a} void swap(int*x,int*y){int temp=*x;*x=*y;*y=temp;}