a数组定义的太小了,作为同时被这种测试系统虐过的人,可以告诉你,你根本想象不到那个测试会给你加多少大的数。10不可能够用,至少100,建议你用内存分配函数malloc
把int a[10]那行改成a=(int *)malloc(sizeof(int)*n)
头文件stdlib.h
不想改也行,试试看100 1000……,总会够大的
还有,就是你的程序本身也有错
do(j++)while……是先j自加再去判断while后面的条件,就是说你没有比较a[0]和x的大小,这样如果加进来的数是这一串数中的最小值时,就会出错,建议是用把j的初值赋为-1
希望能帮到你
#include
int main()
{
int a[10],i,n,t;
scanf("%d",&n);
for(i=0;i
scanf("%d",&t);
for(i=n-1;i>=0&&ta[i+1]=a[i];
a[i+1]=t;
for(i=0;i
printf("%d\n",a[n]);
return 0;
}