m0_71382517 2022-05-29 12:11 采纳率: 100%
浏览 126
已结题

函数原型为: void fun(int **p,int m, int n); 根据下面的说明,编写该函数。 (1)函数功能:求出二维数组首行元素之和,然后将其加到数组所有

急!函数原型为: void fun(int **p,int m, int n); 根据下面的说明,编写该函数。
(1)函数功能:求出二维数组首行元素之和,然后将其加到数组所有元素上。
例如 m=3 n=3
1 2 3
4 5 6
7 8 9
交换后:
7 8 9
10 11 12
13 14 15
(2)入口参数:函数形参p、m和n表示:p是 mxn 的二维数组首地址(可能是动态分配获得)。
(3)出口值: 无

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2022-05-29 12:28
    关注

    如下:

    
    void fun(int **p,int m, int n)
    {
        int i,j;
        int sum = 0;
        //计算第一行的和
        for(i=0;i<n;i++)
            sum += p[0][i];
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
                p[i][j] += sum;
        }
    }
    
    
    

    运行示例(先输入m和n的值,然后输入二维数组的值,最后输出运算结果):

    img

    代码:

    #include <stdio.h>
    #include <stdlib.h>
    void fun(int **p,int m, int n);
    
    int main()
    {
        int **a;
        int i,j;
        int m,n;
        //输入数组的行和列
        scanf("%d %d",&m,&n);
    
        a = (int**)malloc(m*sizeof(int*));
        for(i=0;i<m;i++)
            a[i] = (int*)malloc(n*sizeof(int));
    
        //输入数据
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
            {
                scanf("%d",&a[i][j]);
            }
        }
        fun(a,m,n);
        //输出
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
            {
                if(j<n-1)
                    printf("%d ",a[i][j]);
                else
                    printf("%d\n",a[i][j]);
            }
        }
        return 0;
    }
    
    void fun(int **p,int m, int n)
    {
        int i,j;
        int sum = 0;
        //计算第一行的和
        for(i=0;i<n;i++)
            sum += p[0][i];
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
                p[i][j] += sum;
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 已采纳回答 5月29日
  • 修改了问题 5月29日
  • 创建了问题 5月29日

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?