#include<iostream>
using namespace std;
void main( )
{
int i,j,number,*p;
int a[10]={1,5,10,20,50,100,200,300,400,500}; //初始化数组
p=&a[0];
cout<<"输入一个数:";
cin>>number;
cout<<"原数组为:";
for(i=0;i<10;i++) //输出数组原有元素
cout<<*(p+i)<<" ";
cout<<endl;
i=0;
while(*(p+i)<number&&i<10) //找到插入的位置
i++;
for(j=9;j>=i;j--)
*(p+j+1)=*(p+j); //插入位置之后的数全往后移一个
a[i]=number;
cout<<"新数组为:";
for(i=0;i<11;i++)
cout<<*(p+i)<<" ";
cout<<endl;
}
编译没错,执行就停止工作。怎么错了?