为了账号安全,请及时绑定邮箱和手机立即绑定

主函数如下:并把删除后数组的长度作为函数的返回值?

主函数如下:并把删除后数组的长度作为函数的返回值?

九州编程 2022-11-04 15:11:35
编写一个函数int delnum(int *a , int num , int n),用于在长度是n的数组a中,删除一个指定的元素num。# define N 10main( ){int a[N] , num;scanf(“%d”,&num);输入N个数到数组a中;调用delnum函数在数组a中删除指定的数num;输出删除了num后的数组a;}
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

#include<stdio.h>
#define N 10
void delnum(int *a,int num,int n)
{
int i=0;
while(a[i]!=num&&i<n-1)
i++;
while(i<n-1)
{
a[i++]=a[i+1];
}
}
int main(int argc, char *argv[])
{
int i,a[N]={0};
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("\n删除前数组:\n");
for(i=0;i<N;i++)
printf("%4d ",a[i]);
printf("\n输入要删除的数据:");
scanf("%d",&i);
delnum(&a,i,N);
printf("\n删除后数组:\n");
for(i=0;i<N;i++)
printf("%4d ",a[i]);
system("PAUSE");
return 0;
}


查看完整回答
反对 回复 2022-11-08
?
SMILET

TA贡献1796条经验 获得超4个赞

首先跟你说下 删除的实质 :就是将他的内存空间替换。也就是说,你要删除 a【1】 就相当于 把 a【1】的存储空间分配给 a【2】 。如此类推。(删除1,就将后面的全部向前移动。)接下来的事情就比较简单了。利用for来完成

查看完整回答
反对 回复 2022-11-08
  • 2 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信