12.编写…个程序,提示用户输入3个数集,每个数集包括5个double值。程序应当实现下列所有功能:
a.把输入信息存储到一个3x5的数组中
b.计算出每个数集(包含5个数值)的平均值
c.计算所有数值的平均数
d.找出这15个数中的最大值.
e.打印出结果
每个任务需要用一个单独的函数来实现(使用传统C处理数组的方法)。对于任务b,需要编写计算并返回一维数组平均值的函数,循环3次调用该函数来实现任务b。对于其他任务,函数应当把整个数组做为参数,并且完成任务c和d的函数应该向它的调用函数返回答案。

# include <stdio.h>void init_array(double (*array)[5], int rows);//a 初始化数组
double mean_array(double *array, int len);//b 计算每个数集的平均值
double mean_all_array(double (*array)[5], int rows);//c 计算所有数值的平均值
double max_array(double (*array)[5], int rows);//d  找出最大值int main(void)
{double array[3][5] = {0};init_array(array, 3);for(int i = 0; i < 3; i++){printf("第 %d 组数集的平均值 %.3lf\n", i+1, mean_array(array[i], 5));}printf("所有数值的平均值是:%.2lf\n", mean_all_array(array, 3));printf("数组最大值为:%.2lf\n", max_array(array, 3));return 0;
}void init_array(double (*array)[5], int rows)
{int i, j;for(i = 0; i < rows; i++){printf("请输入第 %d 组5个double类型的数:\n", i+1);for(j = 0; j < 5; j++){scanf("%lf", &array[i][j]);}}
}double mean_array(double *array, int len)
{double sum = 0;for(int i = 0; i < len; i++){sum += array[i];}return sum/len;
}double mean_all_array(double (*array)[5], int rows)
{double sum = 0;int i, j;for(i = 0; i < rows; i++){for(j = 0; j < 5; j++){sum += array[i][j];}}return sum/(rows*5);
}double max_array(double (*array)[5], int rows)
{int i, j;double max = array[0][0];for(i = 0; i < rows; i++){for(j = 0; j < 5; j++){if(max < array[i][j])max = array[i][j];else if(max > array[i][j] || max == array[i][j])max = max;  }}return max;
}

记录——《C Primer Plus (第五版)》第十章编程练习第十二题相关推荐

  1. C Primer Plus第五版记录

    此文用来记录我在学习<C Primer Plus第五版>期间所遇到的重要知识点.以日后用来提醒自己,也十分希望广大博友留言与我一起讨论交流. ----------------------- ...

  2. Primer c++第五版笔记2(到第9章完)

    目录 Primer c++第五版笔记2(到第9章完) 8 IO库 8.1 IO类 8.1.1 IO对象无拷贝或赋值 8.1.2 条件状态 8.1.3 管理输出缓冲 8.2 文件输入输出 8.2.1 使 ...

  3. C++ primer (中文版-第五版 )练习题答案

    C++ primer (中文版-第五版 ) 练习题答案 第1章 开始 1.4控制流 1.4.1节 while语句练习 1.4.2节 for语句练习 1.4.3节 读取数量不定的输入数据练习 1.4.4 ...

  4. C++ Primer Plus(第6版)Chapter 4 编程题答案

    C++ Primer Plus(第6版)Chapter 4 编程题答案 第1题: // task 1 #include <iostream> #include <string> ...

  5. C语言编程>第十二周 ③ 已知学生的记录由学号和学习成绩构成,M名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数。

    已知学生的记录由学号和学习成绩构成,M名学生的数据已存入a结构体数组中.请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分).已给出函数的首部,请完成该函 ...

  6. 猴子第一天摘下若干个桃子,当时吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个谭浩强c语言第五章第十二题

    题目 本题是谭浩强<c语言程序设计>第五章第十二题 题目:猴子第一天摘下若干个桃子,当时吃了一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上再想吃时,就只剩一个 ...

  7. C++ primer(第五版)简单读书笔记

    目录 第一章  开始 第二章 变量和基本类型 第三章 字符串.向量和数组 第四章 表达式 第五章 语句 第六章 函数 第七章 类 第八章 IO库 第九章 顺序容器 第十章 泛型算法 第十一章 关联容器 ...

  8. 【书籍分享】C++ Primer 中文第五版 PDF

    https://gitcode.net/qq_29856169/writings/-/blob/mine/C++_Primer_pdf.md 书籍信息 书名:<C++ Primer 中文版(第 ...

  9. kubernetes权威指南第五版_Java 微服务实用指南(二)

    Java 微服务的部署和测试 请快速回顾一下上一篇文章开头提到的基础知识,任何服务器端的 Java 程序,都是.jar 或.war 文件,因此也包括微服务. 在 Java 生态系统(更确切地说是 JV ...

最新文章

  1. opencv java 灰度_如何使用Java将图像转换为灰度?
  2. matlab contour光滑,使用Matplotlib在Contour Plot中平滑数据
  3. 微信小程序 点击卡片切换 动画效果
  4. docker中使用systemctl启动服务
  5. 关于linkedin的network的观察和自己的职业道路的追求
  6. asp.net 中textbox如何自动换行
  7. WP7 开发(九) WP7控件开发(六)-DeepZoom技术
  8. 【java】java 并发编程 LinkedBlockingDeque
  9. WPF - ViewModle中关闭Window
  10. python 加减法 负数_python解决两位数加减法快速出题问题
  11. MES系统之生产管理系统功能介绍(源码)
  12. 密码学(五):数字签名
  13. linux mount iso文件系统,在linux系统上永久挂载ISO像镜文件
  14. 微信小程序单个页面导航栏 设置
  15. Unity Apple登录接入
  16. Java单链表递归逆置
  17. Linux 文件打包(tar命令——怎么使打包后的文件夹里只有想要的文件而不是有多一个原目录)
  18. 学生认证免费使用pycharm专业版
  19. input元素及属性
  20. 井字棋LeetCode简单题

热门文章

  1. halcon边缘提取颜色相近_初学者福利!三种用Python从图像数据中提取特征的技术...
  2. python数据结构之集合(set)——超详细
  3. COCO和 PASCAL VOC标注格式的学习笔记
  4. 【Qt教程】1.9 - Qt5菜单栏、工具栏、状态栏、核心窗口、浮动窗口、QMainWindow
  5. JAVA基础知识(四):final关键字
  6. USB 协议分析之 HID 设备(转)
  7. elasticsearch 安装sql
  8. php中的server数组各个值详解 有利于对请求进行识别处理!
  9. PHP 处理execl的数据
  10. 没钱,就别玩大学这场游戏