C PRIMER PLUS(第六版编程练习)10.13编程练习_13题

/*编写一个程序,提示用户输入3组数,每组数包含5个double类型的数(假设用户都正确地响应,不会输入非数值数据)。
该程序应完成下列任务。  
a.把用户输入的数据存储在3×5的数组中  
b.计算每组(5个)数据的平均值  
c.计算所有数据的平均值  
d.找出这15个数据中的最大值  
e.打印结果每个任务都要用单独的函数来完成(使用传统C处理数组的方式)。
完成任务b,要编写一个计算并返回一维数组平均值的函数,利用循环调用该函数3次。
对于处理其他任务的函数,应该把整个数组作为参数,完成任务c和d的函数应把结果返回主调函数。

*/
#include<stdio.h>
#define ROWS 3
#define COLS 5
void store(double ar[][COLS]);
void average_row(double ar[][COLS]);
void average_all(double ar[][COLS]);
void max_all(double ar[][COLS]);
int main(void)
{
	double a[ROWS][COLS] = { 0 };
	store(a);
	average_row(a);
	average_all(a);
	max_all(a);

	return 0;

}
void store(double ar[][COLS])
{
	int i, j;
	double n;
	printf("请输入15个数字:");
	//scanf("%lf", &n);
	for (i = 0; i < ROWS; i++)
	{
		for (j = 0; j < COLS; j++)
		{
			scanf("%lf", &n);
			ar[i][j] = n;
			
		}
	}
	
}
void average_row(double ar[][COLS])
{
	int i, j;
	double sum;
	for (i = 0; i < ROWS; i++) 
	{
		for (j = 0, sum = 0; j < COLS; j++)
		{
			sum += ar[i][j];
		}
		printf("ROW %d average = %lf\n",i, sum / COLS);
	}
}

void average_all(double ar[][COLS])
{
	int i, j;
	double sum;
	for (i = 0,sum = 0; i < ROWS; i++)
	{
		
		for (j = 0; j < COLS; j++)
		{
			sum += ar[i][j];
		}
	}
	printf("average of all is %lf\n", sum / (ROWS * COLS));
}

void max_all(double ar[][COLS])
{
	int i, j;
	double max;
	for (max = 0, i = 0; i < ROWS; i++)
	{
		for (j = 0; j < COLS; j++)
		{
			if (max < ar[i][j])
				max = ar[i][j];
		}
	}
	printf("最大值为 %lf\n", max);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值