程序未发现错误,上半句运行正确红色部分程序运行时发生错误,插入的数据不是 X 而是 0.
#include "stdio.h"#define N 10
main()
{
int a[N],i,j;
int x,flag;
printf("input :");
for(i=0;i<N-1;i++)
scanf("%d",&a[i]);
printf("input x:");
scanf("%d",&x);
flag=0;
for(i=0;i<N-1;i++)
if(a[i]==x) {flag=1;break;}
else if (a[i]>x) break;
if(flag==1){
printf("x is in arry\n");
for(i=0;i<N-1;i++)
printf("%2d",a[i]);
}
else if(i<N){
printf("x is not arry\n");
for(j=N-1;j>=i;j--)
a[j+1]=a[j];
a[i]=x;
for(i=0;i<N;i++)
printf("%4d",a[i]);
}
}