C语言元素的删除
输入
第一行为一个整数T,表示有T组数据。
每组数据有三行:
第一行是一个整数M ,表示原队伍有M个人;
第2行有M个以空格隔开的整数,即原队伍中每个人的面试编号;
第三行为DavidDeng的面试编号N。
保证没有相同号码,保证M不大于10000
就是删除Deng的编号
输出
DavidDeng离开后队伍的面试编号序列。
#include <stdio.h>
void delete_elem(int arr[],int delete_e,int n);
int main()
{
int t,i,m,id_deng,j;
scanf("%d",&t);
for ( i = 0; i < t; i++) //t groups
{
scanf("%d",&m);
int arr[m];
scanf("%d",&id_deng);
for ( j = 0; j < m; j++)
{
scanf("%d",&arr[j]);
}
delete_elem(arr,id_deng,m);
for ( j = 0; j < m-2; j++)
{
printf("%d ",arr[j]);
}
printf("%d\n",arr[m-2]);
}
return 0;
}
void delete_elem(int arr[],int delete_e,int n)
{
int r=delete_e,j,k,temp;
for ( j = 0; j < n; j++)
{
if (arr[j]==r)
{
for (k=j; k < n-1; k++)
{
arr[k] = arr[k+1];
}
}
}
}
问一下这个代码哪里错了?听劝!