
在上节中我们利用了while与do-while循环完成了猜数游戏的练习这节中我们通过算平均数来继续练习题目要求如下让用户输入一系列的正整数最后输入-1表示输入结束然后计算机计算出这些数字的平均数并向用户展示如下信息1用户输入数字的总个数2输入数字的平均数此处为了严谨起见我们给出计算平均数的公式接下来我们来分析这道题目首先输入数字这个过程就得是一个循环过程循环条件应该设置为输入数字不为-1时就进入循环一旦输入-1跳出循环不在输入数字。另外为了让这个计算器更有用我们在定义数字类型时可以设置为浮点数。定义如下变量a用来存储用户输入的数字sum表示数字总和Ex采用的是数理统计中的写法表示平均值number表示输入数字的个数。接下来我们来写循环内部我们采用do-while循环while与do-while循环可以实现完全的转化首先第一步就是让用户输入数字然后数字个数number1数字总和sum就是a的和相加循环条件就为a不为-1如下图唯一不太好理解的点在于sum suma这一行sum在每一次循环结束之后都会被赋一个新的值在计算总和时就需要把上次的sum值再加上这次输入的a值这样才能达到计算总和的目的。之后就是向用户展示的部分如下图可以看到在数字个数的部分并不是我们预先设定的number值而是number-1这是因为在循环过程中我们输入-1时number的值仍然会1这与我们的要求不相符。所以在最后输出时我们需要把number的值减1再输出。另外平均数的计算公式也与我们的常识不符究其原因仍然是-1的影响。在输入-1时sum的值会被多减1因此我们最后需要把他补上从而形成我们在代码中所展示的那样。最后贴出代码运行结果图此处再贴出翁恺老师的代码版本与我们上面的版本还是有一些区别的首先使用的是while循环其次在循环内部是先加和、计数最后再输入数字这也避免了我们之前在最后面修正计算公式的问题。总而言之路虽不同但结果一致平均数的问题就处理到这里。