P1185 结构体-引用传递练习-给学生成绩加分

暂无评定 传统题 GESP结构体排序 上传者
时间限制1000ms
内存限制256MiB
通过 / 提交0/0

P1185结构体-引用传递练习-给学生成绩加分

暂无评定 传统题 GESP结构体排序 上传者
时间限制1000ms
内存限制256MiB
通过 / 提交0/0

题目描述

定义一个结构体 Student,包含三个成员:

  • string name(姓名)
  • int chinese(语文成绩)
  • int math(数学成绩)
  • int english(英语成绩)

编写一个函数 void addScore(Student &s, int bonus),该函数接收一个 Student 类型的引用 s 和一个整数 bonus,将学生的每科成绩(语文、数学、英语)都加上 bonus 分(本题不需要判断是否超过100)。

在 main 函数中:

  1. 读入一个学生的姓名和三科成绩。
  2. 读入一个加分值 bonus。
  3. 调用 addScore 函数修改该学生的成绩。
  4. 输出修改后的姓名和总分(三科之和)。

输入

第一行:姓名、语文成绩、数学成绩、英语成绩(用空格隔开)
第二行:一个整数 bonus(0≤bonus≤100 0 ≤ bonus ≤ 100 )

输出

一行:姓名 和 修改后的总分,中间用空格隔开。

样例输入

Tom 80 85 90
5

样例输出

Tom 270

样例解释

加5分后,语文85,数学90,英语95,总分:85+90+95=270。

要求

  • 必须定义 struct Student。
  • addScore 函数的第一个参数必须是 引用类型 Student &s。
  • 不允许在函数内部或主程序中直接计算总分后再修改(必须通过函数修改各科成绩)。
  • 主程序输出时,总分应通过访问 s.chinese + s.math + s.english 计算。

提示

  • 如果去掉 &,函数内对 s 的修改只会影响局部副本,主程序中的学生成绩不会改变。可以尝试对比。