/编写一个程序,提示用户输入3组数,每组数包含5个double类型的数(假设用户都能正确的响应,不会输入非数值数据)。该程序应完成下列任务。
a.把用户输入的数组都放在35的数组中
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;
}
标签:平均值,double,每组,用户,数组,输入
From: https://www.cnblogs.com/yesiming/p/18335746