求教,数组连续删除问题,删一个显示一次,-1结束,无值继续删,不知哪里错了
#include<stdio.h>void main()
{
int a[12]={7,6,5,1,6,7,3,4,2,9,8,1},i,k,x,n=12,j,log=1;
for(i=0;i<12;i++)
printf("%d ",a[i]);
printf("请键入删除的数值:");
scanf("%d",&x);
do
{for(i=0;i<n;i++)
if(x==a[i])
{ log=0;
for(j=i;j<n-1;j++)
a[j]=a[j+1];
a[n-1]=0;
n--;
if(n==0)
printf("NULL");
break;
for(k=0;i<=n-3;k++)
printf("%d ",a[k]);
printf("\n");
}
if(log==1)
printf("无此值\n");
printf("请键入删除的数值:");
scanf("%d",&x);
} while(x!=-1);
for(i=0;i<n;i++)
printf("%d ",a[i]);
}