学习C++从娃娃抓起!记录下洛谷C++学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:洛谷刷题C++语言 | 汇总_热爱编程的通信人的博客-CSDN博客
【题目描述】
某培训机构的学员有如下信息:
- 姓名(字符串)
- 年龄(周岁,整数)
- 去年 NOIP 成绩(整数,且保证是 5 的倍数)
经过为期一年的培训,所有同学的成绩都有所提高,提升了 20%(当然 NOIP 满分是 600 分,不能超过这个得分)。
输入学员信息,请设计一个结构体储存这些学生信息,并设计一个函数模拟培训过程,其参数是这样的结构体类型,返回同样的结构体类型,并输出学员信息。
【输入】
第一行输入一个正整数 n,表示学员个数。
第二行开始往下 n 行。每行首先是一个字符串表示学员姓名,再是一个整数表示学员年龄,再是一个整数为去年 NOIP 成绩。
【输出】
输出 n 行,每行首先输出一个字符串表示学生姓名,再往后两个整数,表示经过一年的培训后学员的年龄和他们今年的 NOIP 成绩。以空格隔开。
扫描二维码关注公众号,回复:
16639310 查看本文章
【输入样例】
3
kkksc03 24 0
chen_zhe 14 400
nzhtl1477 18 590
【输出样例】
kkksc03 25 0
chen_zhe 15 480
nzhtl1477 19 600
【代码详解】
#include <bits/stdc++.h>
using namespace std;
struct student {
string name;
int age, cj;
};
int main()
{
student s[1005];
int n;
cin >> n;
for (int i=1; i<=n; i++) {
cin >> s[i].name >> s[i].age >> s[i].cj;
}
for (int i=1; i<=n; i++) {
s[i].cj += s[i].cj * 0.2;
if (s[i].cj > 600) {
s[i].cj = 600;
}
cout << s[i].name << " " << s[i].age+1 << " " << s[i].cj << endl;
}
return 0;
}
【运行结果】
3
kkksc03 24 0
chen_zhe 14 400
nzhtl1477 18 590
kkksc03 25 0
chen_zhe 15 480
nzhtl1477 19 600