


结果输出是和左边的不一样啊,应该怎么改?
为什么他数组会有一个数据丢失呀?
#include <stdio.h>
int flag = 0;
int main()
{
int n = 10;
int a[n] = {0};
int c;
int i,j,k;
printf("请输入一个整数n(0<n<=1000): ");
scanf("%d",&n);
printf("请输入%d个数: \n",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("请输入需要删除的数字:");
scanf("%d",&c);
for(i=0;i<n;i++)
{
if(c == a[i])
{
flag = 1;
for(j=i;j<n-1;j++)
{
a[j] = a[j+1];
}
n=n-1;
i--;
printf("删除之后显示:");
for(k=0;k<n;k++)
{
printf("%d ",a[k]);
}
printf("\n");
}
}
if(flag == 0)
{
printf("没有要删除的数据:");
for(k=0;k<n;k++)
{
printf("%d ",a[k]);
}
}
return 0;
}