#include<iostream>
using namespace std;
int max(int a[],int n);
int main()
{
int n;
cin>>n;
int a[n+1];
for(int i=1;i<=n;i++)
{
cin>>a[i];
cout<<a[i];
}
int m;
m=max(a[n+1],n);
cout<<m;
return 0;
}
int max(int a[],int n)//这里的n是指这数组里有多少个数
{
int temp,max1;
if(n>1)
{
temp=max(a,n-1);
if(temp>=a[n])
max1=temp;
else
max1=a[n];
}
else
{
max1=a[1];
}
return max1;
}
求解答!
19行, m=max(a,n);
a[n+1]是a数组第n+1个元素,max要求的是传入数组
有几个错误:
(1)第19行 m=max(a[n+1],n); 改成 m=max(&a[1],n);
(2)第31行if(temp>=a[n])改成if(temp>=a[n-1])
(3)第34行max1=a[n]改成max1=a[n-1]
(4)第38行max1=a[1];改成max1=a[0];