编写一个程序,提示用户输入3组数,每组数包含5个double类型的数(假设用户都能正确的响应,不会输入非数值数据)。该程序应完成下列任务。 a.把用户输入的数组都放在3*5的数组中 b.计算每组(5个)数组的平均值 c.计算所以数据的平均值 d.找出这15个数据中的最大值 e.打印结果

/编写一个程序,提示用户输入3组数,每组数包含5个double类型的数(假设用户都能正确的响应,不会输入非数值数据)。该程序应完成下列任务。
a.把用户输入的数组都放在3
5的数组中
b.计算每组(5个)数组的平均值
c.计算所以数据的平均值
d.找出这15个数据中的最大值
e.打印结果*/

#include <stdio.h>
#define ROWS 3
#define COLS 5
void output(double dub, char *str);
void scanf_fun(int rows, int cols,double buff[rows][cols])
{
    printf("please enter 3 buff 5 number\n");
    for(int i=0;i<rows;i++)
    {
        for(int j=0;j<cols;j++)
        {
            printf("please enter %d buff %d number\n",i+1,j+1);
            scanf("%lf",&buff[i][j]);
        }
    }
}
double agv_fun(double *buff,int n)
{
    double sum=0.0;
    double agv=0.0;
    for(int i=0;i<n;i++)
    {
        sum+=buff[i];
    }
    agv=sum/n;
    return agv;
}
double agv_all(int rows, int cols,double buff[rows][cols])
{
    double sum=0.0;
    double agv=0.0;
    for(int i=0;i<rows;i++)
    {
        sum=agv_fun(buff[i],cols);
        
    }
    agv=sum/rows;
    return agv;
}
double max_fun(int rows, int cols,double buff[rows][cols])
{
    double temp=0.0;
    for(int i=0;i<rows;i++)
    {
        for(int j=0;j<cols;j++)
        {
            if(temp<buff[i][j])
            {
                temp=buff[i][j];
            }
        }
    }
    return temp;
}
void output(double dub, char *str)
{
    printf("%s:%.2f\n",str,dub);
}
int main(void)
{
    double buff[3][5];
    double agv_all;
    double agv;
    double max;
    scanf_fun(ROWS,COLS,buff);
    for(int i=0;i<ROWS;i++)
    {
        agv=agv_fun(buff[i],COLS);
        output(agv,"agv");
    }
    agv_all=max_fun(ROWS,COLS,buff);
    output(agv_all,"agv_all");
    max=max_fun(ROWS,COLS,buff);
    output(max,"max");
    return 0;
}

posted on 2024-07-31 23:34  wessf  阅读(2)  评论(0编辑  收藏  举报