gegeda123 2016-12-10 06:45 采纳率: 0%
浏览 1034

C语言问题求帮助!!!!!!!!!

编写函数int delnum(int *a , int num , int n),用于在长度是n的数组a中,删除一个值为num的元素。删除后数组的长度作为函数的返回值返回。注意,num在数组中可能不只一个。请以8_2.c命名本程序并上交
主函数如下:

define N 10

int  main( )
{ int a[N],i,num,m;
scanf(“%d”,&num);
键盘输入N个数到数组a中;
m=delnum函数调用,在数组a中删除指定的数num,并返回剩余数据个数;
输出删除了num后的数组a;
return 0;
}
  定义并编写delnum函数

  • 写回答

1条回答 默认 最新

  • PGEva 2016-12-10 08:03
    关注

    #include
    #define N 10

    int delnum(int *a,int num,int n);//声明

    int main()
    {
    int a[N],i,num,m;
    printf("请输入10个数:>");
    for(i = 0; i < N; ++i)
    scanf("%d",&a[i]);

    for(i = 0; i < N; ++i)      //将原数组打印一次
        printf("%d ",a[i]);
    printf("\n");
    
    printf("请输入要删除的数:");
    scanf("%d",&num);
    
    m = delnum(a,num,N);        //执行删除函数
    
    for(i = 0; i < m; ++i)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
    

    }

    int delnum(int *a,int num,int n)
    {
    int count = 0,i,j; //计数器 记录num在数组中的个数
    for(i = 0; i < n; ++i)
    {
    if(a[i] == num)
    {
    for(j = i; j < n; ++j) //将要删除的位置之后的数都向前移动一位
    a[j] = a[j+1];
    count++;
    }
    }
    return n-count;
    }
    你试着看一下,有不懂的可以问我.

    评论

报告相同问题?

悬赏问题

  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退