用c语言编写删除程序

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:51:23
求用c语言编写:使长度为n的线性表变为长度为n-1的线性表
如:为了删除表中的第i(1<=i<=n)个数据元素,必须从第i+1个之第n(共n-i)个元素都依次向前移动一个位置

#define N 5

void del(int arr[],int len,int n)
{
int i=0;
while(i<len)
{
if(arr[i]==n)
{
printf("Found element %d\n",n);
for(int j=i;j<len-1;j++)
{
arr[j]=arr[j+1];
}
arr[len-1]='\0';
return;
}
i++;
}
printf("Element %d not found\n",n);

}

void main()
{
int i,j;
int arr[N],bj;

printf("\n 请输入 %d 个数: \n",N);

for(i=0;i<N;i++)
{
scanf("%d",&arr[i]);
}

del(arr,N,3);

printf("\nAfter Delete:");

for(i=0;i<N-1;i++)
{
printf("%d\t",arr[i]);
}
printf("\n");

}