HELLO,大家好!我是Zac,今天我会给大家看一道题,看看大家对于结构体的理解程度 👇🏼
题目描述
某培训机构的学员有如下信息:
- 姓名(字符串)
- 年龄(周岁,整数)
- 去年 NOIP 成绩(整数,且保证是 55 的倍数)
经过为期一年的培训,所有同学的成绩都有所提高,提升了 20%(当然 NOIP 满分是600 分,不能超过这个得分)。
输入学员信息,请设计一个结构体储存这些学生信息,并设计一个函数模拟培训过程,其参数是这样的结构体类型,返回同样的结构体类型,并输出学员信息。
输入格式
第一行输入一个正整数 n,表示学员个数。
第二行开始往下 n 行。每行首先是一个字符串表示学员姓名,再是一个整数表示学员年龄,再是一个整数为去年 NOIP 成绩。
输出格式
输出 n 行,每行首先输出一个字符串表示学生姓名,再往后两个整数,表示经过一年的培训后学员的年龄和他们今年的 NOIP 成绩。以空格隔开。
输入输出样例
3
kkksc03 24 0
chen_zhe 14 400
nzhtl1477 18 590
kkksc03 25 0
chen_zhe 15 480
nzhtl1477 19 600
话不多说,上代码!
#include <iostream>
#include <cmath>
using namespace std;
struct node {
string nm;
int ag;
int sc;
}a[5];
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i].nm >> a[i].ag >> a[i].sc;
a[i].ag++;
a[i].sc = a[i].sc + a[i].sc * 0.2 <= 600 ? a[i].sc + a[i].sc * 0.2 : 600;//三目运算木符直接搞定!
cout << a[i].nm << " " << a[i].ag << " " << a[i].sc << endl;
}
return 0;
}
梳理下本代码思路:
代码思路:
本代码使用了结构体,定义了一个名字为a的node类型数组(node里包含nm,ag,和sc三个变量),再分别输入他们。使用三目运算符处理a[i].sc(如果+20%超过600分,则赋值为600,否则赋值为a[i].sc+20%),最后输出a[i]就可以了!
恳求:
点赞👍🏼、关注✅、收藏📂(🙏🏼)🧑🏼💻👋🏼👋🏼👋🏼