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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?