| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1853 人关注过本帖
标题:将二维数组求每组平均数,所有数据平均数和找出最大值
只看楼主 加入收藏
fclzss
Rank: 2
等 级:论坛游民
帖 子:32
专家分:11
注 册:2018-11-7
结帖率:75%
收藏
已结贴  问题点数:4 回复次数:2 
将二维数组求每组平均数,所有数据平均数和找出最大值
做到一道题目要求3*5二维数组,求每组平均数,所有数据平均数,找出最大值。我用三个子函数按顺序分别处理,但是结果很尴尬,乱码了......个人感觉是不是二维数组在子函数调用时出问题了,需要将二维数组当一维数组处理,求大佬解释一下


#include<stdio.h>
double AVER1(double a[][5],int m,int n);
double AVER2(double a[][5],int m,int n);
double MAX(double a[][5],int m,int n);
int main()
{
    int line,row;
    double average1,average2,max;
    double a[3][5];
    printf("*******************************\n");
    printf("This program will finish 3 tasks\n");
    printf("*******************************\n");
    for(line=0;line<3;line++)
    {
        for(row=0;row<5;row++)
        {
            printf("please enter %d line,%d row number:",line+1,row+1);
            scanf("%f",&a[line][row]);
            while(getchar()!='\n')
                continue;
        }
    }
    average1=AVER1(a,3,5);
    average2=AVER2(a,3,5);
    max=MAX(a,3,5);
    printf("average1=%.4f\naverage2=%.4f\nmax=%.4f",average1,average2,max);
    return 0;
}
double AVER1(double ar[][5],int m,int n)
{
    double aver,sum;
    int line,row;
    for(line=0;line<m;line++)
    {
        sum=0;
        for(row=0;row<n;row++)
        {
            sum+=ar[line][row];
        }
        printf("%d line sum=%.4f,average=%.4f\n",line+1,sum,sum/5);
    }
    return sum/5;
}
double AVER2(double ar[][5],int m,int n)
{
    double aver,sum;
    int line,row;
    for(line=0,sum=0;line<m;line++)
    {
        for(row=0;row<n;row++)
        {
            sum+=ar[line][row];
        }
    }
    printf("all number sum=%.4f,average=%.4f\n",sum,sum/15);
    return sum/15;
}
double MAX(double ar[][5],int m,int n)
{
    double max;
    int line,row;
    max=ar[0][0];
    for(line=0;line<m;line++)
    {
        for(row=0;row<n;row++)
        {
            if(max<ar[line][row])
                max=ar[line][row];
            else
                ;
        }
    }
    return max;
}
搜索更多相关主题的帖子: double int line row sum 
2018-11-27 22:41
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:4 
scanf("%f",&a[line][row]);   改成%lf

被调函数里的aver变量都没用,定义了干啥呢

还有个问题,double AVER1 函数内,每行的平均数都出来了!何苦再用double AVER2 求总平均数!

[此贴子已经被作者于2018-11-27 23:46编辑过]


学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-27 23:44
fclzss
Rank: 2
等 级:论坛游民
帖 子:32
专家分:11
注 册:2018-11-7
收藏
得分:0 
回复 2楼 Tomorrw_I
(°_°)…看来我记错了,把输出是%f当成输入也是%f,面壁思过。题目要求三个函数,我也不想用这么多函数的,打扰大佬休息了,我继续赶作业……
2018-11-28 00:02
快速回复:将二维数组求每组平均数,所有数据平均数和找出最大值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017686 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved