C++编程实践:计算调和平均数与高尔夫分数统计

需积分: 10 0 下载量 11 浏览量 更新于2024-09-14 收藏 12KB TXT 举报
"C++ Primer Plus编程练习-第七章,涉及C++编程语言,包括计算调和平均数和处理高尔夫球分数的程序" 在C++ Primer Plus的第七章编程练习中,有两个主要的知识点:计算调和平均数(7.1节)和处理数组输入与计算平均分(7.2节)。下面将详细解释这两个部分。 首先,7.1节的程序是用来计算两个非零数字的调和平均数。调和平均数是两个或更多数值的倒数的平均数的倒数。在这个程序中,用户被要求输入两个数字,程序会计算它们的调和平均数并输出结果,然后再次提示用户输入新的两个数字,直到用户输入的两个数字都为零时程序结束。 代码中,`Average`函数接收两个`double`类型的参数`a`和`b`,计算它们的调和平均数,并返回结果。计算公式是 `2*a*b / (a + b)`。主函数`main`中使用了一个`while`循环,不断读取用户输入的两个数字,只要它们都不为零,就继续计算调和平均数并显示结果。 其次,7.2节的程序涉及到处理数组,用户输入一系列高尔夫球分数并计算平均分。程序首先定义一个大小为10的`double`数组`scores`,用于存储用户输入的分数。`read`函数负责读取用户输入的分数,当用户输入非数字(例如字母'q')时,读取过程结束。`calculate`函数计算数组中所有有效分数的平均值,`show`函数则用于展示所有分数以及平均分。 `read`函数通过一个`for`循环来读取分数,使用`cin>>scores[i]`尝试从标准输入读取数据,如果读取成功,继续读取下一个分数,否则跳出循环。函数返回实际读取到的有效分数个数。 `calculate`函数接收一个分数数组和其有效元素数量,计算平均分。它初始化一个变量`sum`作为分数总和,遍历数组并累加每个有效分数,然后除以有效分数的数量得到平均值。 最后,`main`函数中先调用`read`函数获取分数,再调用`calculate`计算平均分,最后调用`show`显示所有分数和平均分。 这两个练习展示了C++中基本的输入/输出操作、函数的使用、数组处理以及数学运算。它们也强调了控制流结构(如`while`和`for`循环)以及条件判断(如`if`和`break`),这些都是C++编程的基础。