总分和平均分

分析问题:

小明有三门考试的成绩:语文(x)、数学(y)、英语(z)。我们需要做两件事:

  1. 计算总分:把三科成绩加起来。
  2. 计算平均分:把总分除以3(保留1位小数)。

建立模型(五年级学生版):

想象有三个盒子:

  • 第一个盒子装了语文成绩(比如100个苹果)
  • 第二个盒子装了数学成绩(比如95个苹果)
  • 第三个盒子装了英语成绩(比如91个苹果)
  1. 总分:把三个盒子的苹果全部倒进一个大箱子,数一数总共有多少苹果(100+95+91=286)
  2. 平均分:把大箱子里的苹果平均分成3份(286÷3≈95.3),每份就是平均分(保留1位小数)

编写程序(C++):

#include <bits/stdc++.h>
using namespace std;

int main() {
    int x, y, z;
    cin >> x >> y >> z; // 输入三科成绩

    // 1. 计算总分(把三个数加起来)
    int sum = x + y + z;
    // 2. 计算平均分(总分÷3.0,注意用3.0保证得到小数)
    double average = sum / 3.0;
    // 输出结果
    cout << sum << endl; // 第一行输出总分(整数)
    cout << fixed << setprecision(1) << average << endl; // 第二行输出平均分(保留1位小数)
    return 0;
}

保存 编译 运行

关键点解释:

  1. int sum = x + y + z:把三科成绩相加得到总分。
  2. double average = sum / 3.0
  • 3.0而不是3,这样计算时会保留小数部分(100÷3=33.333,但100÷3.0=33.333)。
  1. setprecision(1):设置小数点后保留1位(比如95.333会显示为95.3)。
  2. fixed:固定小数位数格式(必须和setprecision配合使用)。

样例验证:

输入:100 95 91

  • 总分 = 100 + 95 + 91 = 286
  • 平均分 = 286 ÷ 3.0 ≈ 95.333 → 保留1位小数后是95.3
    输出:
286
95.3