m0_63806909 2021-12-18 10:20 采纳率: 90%
浏览 238
已结题

设计一个函数,该函数用于求一个任意大小的二维double型数组的平均值.该函数名叫matrixAvg,输入:第一行输入整数M和N 从第二行开始,输入M行,每行输入N个double型的数

#include<stdio.h>
float matrixAvg(int m,int n,double a[100][100])
{
int i,j;
double average;
double sum=0.0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
sum+=a[i][j];
average=sum/(m*n)*1.0;
return average;
}
int main()
{
int M,N;
scanf("%d%d",&M,&N);
double aver,a[M][N];
int i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%lf",&a[i][j]);
aver=matrixAvg(M,N,a);
printf("%.2f\n",aver);
return 0;
}
/能不能帮我看看我的代码错在哪里呢?该怎么修改呢?谢谢您/

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-12-18 10:38
    关注

    供参考:

    #include<stdio.h>
    #define K 100           //修改 定义常量 K=100
    double matrixAvg(int m,int n,double a[][K])  //修改
    {
        int i,j;
        double average=0.0;
        double sum=0.0;
        for(i=0;i<m;i++)
           for(j=0;j<n;j++)
               sum+=a[i][j];
        average = sum/(m*n)*1.0;
        return average;
    }
    int main()
    {
        int M,N,i,j;
        double aver,a[K][K];//修改,数组定义是常量
        scanf("%d%d",&M,&N);
        for(i=0;i<M;i++)
            for(j=0;j<N;j++)
                scanf("%lf",&a[i][j]);
        aver=matrixAvg(M,N,a);
        printf("%.2f\n",aver);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 12月18日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大