运行出来一直报错,个人觉得是子函数出问题导致越界,不知道如何处理,恳求大神帮忙!
#include<iostream>
using namespace std;
int insert(int a[],int n,int x)
{
int i,j;
for(i=0;i<n;i++)
{
if(a[i]<x)
{
for(j=n;j>=i;j--) a[j+1]=a[j];
a[i]=x;
n++;
}
}
return i+2;
}
void main()
{
int a[10],i,n,x,round;
cout<<"请输入原降序数列的数据个数(<20):";
cin>>n;
a[n+1]=0;a[n+2]=0;
cout<<"请输入"<<n<<"个数(降序):\n";
for(i=0;i<n;i++) cin>>a[i];
for(round=1;round<=2;round++)
{
cout<<"***************************************\n";
cout<<"请输入欲插入的第"<<round<<"个数:";
cin>>x;
cout<<"插入在第"<<insert(a,n,x)<<"个位置\n";
cout<<"插入第"<<round<<"个数之后的数据序列为\n";
for(i=0;i<n;i++) cout<<a[i]<<" ";
cout<<endl;
}
system("pause");
}
代码及题目