记录——《C Primer Plus (第五版)》第十章编程练习第十一题
11.重写程序清单10.7的程序rain,main()中的主要功能改为由函数来执行。
# include <stdio.h># define MONTHS 12 //一年的月份数
# define YEARS 5 // 降水量数据的年数void rain_year_total(float rain[][MONTHS], int years);//每年总降水量
void rain_mean_year(float rain[][MONTHS], int years);//每年平均降水量
void rain_mean_month(float rain[][MONTHS], int years);//每月平均降水量
int main(void)
{//把数组初始化为2000年到2004年的降水量数据float rain[YEARS][MONTHS] = {{4.3,4.3,4.3,3.0,2.0,1.2,0.2,0.2,0.4,2.4,3.5,6.6},{8.5,8.2,1.2,1.6,2.4,0.0,5.2,0.9,0.3,0.9,1.4,7.3},{9.1,8.5,6.7,4.3,2.1,0.8,0.2,0.2,1.1,2.3,6.1,8.4},{7.2,9.9,8.4,3.3,1.2,0.8,0.4,0.0,0.6,1.7,4.3,6.2},{7.6,5.6,3.8,2.8,3.8,0.2,0.0,0.0,0.0,1.3,2.6,5.2},};rain_year_total(rain, YEARS);rain_mean_year(rain, YEARS);rain_mean_month(rain, YEARS);printf("\n");return 0;
}void rain_year_total(float rain[][MONTHS], int years)
{int year, month;float subtot;printf(" YEAR RAINFALL (inches) \n");for(year = 0; year < years; year++){ for(month = 0, subtot = 0; month < MONTHS; month++)subtot += *(rain[year] + month); printf("%5d %15.1f\n", 200 + year, subtot);}
}void rain_mean_year(float rain[][MONTHS], int years)
{int year, month;float subtot, total;for(year = 0, total = 0; year < years; year++){ for(month = 0, subtot = 0; month < MONTHS; month++)subtot += *(rain[year] + month); printf("%5d %15.1f\n", 200 + year, subtot);total += subtot;}printf("\nThe yearly average is %.1f inches.\n\n", total/years);
}void rain_mean_month(float rain[][MONTHS], int years)
{int year, month;float subtot;printf("MONTHLY AVERAGES: \n\n");printf(" Jan Feb Mar Apr May Jun Jul Aug Sep Oct ");printf(" Nov Dec\n");for(month = 0; month < MONTHS; month++){ //这几年每月总降水量for(year = 0, subtot = 0; year < years; year++)subtot += *(*(rain + year) + month); //*(*(rain + year) + month 表示第year+1行第month+1列 printf("%4.1f ", subtot/years);}}
记录——《C Primer Plus (第五版)》第十章编程练习第十一题相关推荐
- C Primer Plus第五版记录
此文用来记录我在学习<C Primer Plus第五版>期间所遇到的重要知识点.以日后用来提醒自己,也十分希望广大博友留言与我一起讨论交流. ----------------------- ...
- 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 使 ...
- C++ primer (中文版-第五版 )练习题答案
C++ primer (中文版-第五版 ) 练习题答案 第1章 开始 1.4控制流 1.4.1节 while语句练习 1.4.2节 for语句练习 1.4.3节 读取数量不定的输入数据练习 1.4.4 ...
- C++ Primer Plus(第6版)Chapter 4 编程题答案
C++ Primer Plus(第6版)Chapter 4 编程题答案 第1题: // task 1 #include <iostream> #include <string> ...
- C++ primer(第五版)简单读书笔记
目录 第一章 开始 第二章 变量和基本类型 第三章 字符串.向量和数组 第四章 表达式 第五章 语句 第六章 函数 第七章 类 第八章 IO库 第九章 顺序容器 第十章 泛型算法 第十一章 关联容器 ...
- 【书籍分享】C++ Primer 中文第五版 PDF
https://gitcode.net/qq_29856169/writings/-/blob/mine/C++_Primer_pdf.md 书籍信息 书名:<C++ Primer 中文版(第 ...
- 费翔林, 骆斌. 操作系统教程(第五版).第121页28、29题笔记
参考文献:[1]费翔林, 骆斌. 操作系统教程(第五版) [M]. 北京:高等教育出版社,2014. 题目:某多道程序系统采用可变分区存储管理,供用户使用的内存空间为200KB,磁带机5台.采用静态方 ...
- 记录——《C Primer Plus (第五版)》第十章编程练习第八题
8.编写一个程序,初始化一个3x5的二维double数组,并利用一个基于变长数组的函数把该数组复制到另一个二维数组.还要编写.个基于变长数组的函数来显示两个数组的内容.这两个函数应该能够处理任意的Nx ...
- 记录——《C Primer Plus (第五版)》第十章编程练习第十题
10.编写-个程序,声明一个3x5的数组并初始化,具体数值可以随意.程序打印出数值,然后数值翻1番,接着再次打印出新值.编写一个函数来显示数组的内容,再编写另一个函数执行翻倍功能.数组名和数组行数作为 ...
最新文章
- 图形驱动程序和显卡驱动什么区别_我们常说的计算机驱动程序到底是什么,深入解读驱动程序本质...
- 音乐播放器的实现-音乐文件的获取(1)
- hibernate annotation多对多中间表添加其他字段的第三种方法
- ExtJs TreePanel 不能加载ashx数据的解决办法
- java 常用工具类的使用一
- php获取最后几个字符,php怎么去掉最后几个字符
- 【java笔记】网络编程:文件上传案例
- 十三、mysql 分区之 RANGE LIST
- [转]Kinect for Windows SDK开发入门(七):骨骼追踪基础 下
- java web 学习十二(session)
- 学习Java面向对象编程和设计模式最好的5本书
- Python简单使用蓝本
- 计算机音乐谱东演员,计算机音乐谱光辉岁
- 【opencv机器学习】基于SVM和神经网络的车牌识别
- 数据结构与算法笔记:哈希表——力扣389
- 麻将牌技法--收藏慢慢学
- 2021广东高考成绩位次排名查询,广东高考排名对应大学-广东高考位次查询(2021年文科参考)...
- 堆和栈的概念和区别 python_C++堆用法详解
- 学习pinia 介绍-State-Getters-Actions-Plugins
- sql中coalesce()函数的使用