TB椰程 TypeBuddy 打字搭子

培训

洛谷·深入浅出 · 代码 · cpp · 难度 2/5 · 共 680 字

用结构体模拟学员成绩提升 20%(封顶 600)

  • 洛谷
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/1443
// 题意:N 名学员(姓名、年龄、去年 NOIP 成绩)。培训后年龄+1,成绩提升 20% 但不超过 600,输出新信息。
// 思路:用结构体存学员;成绩提升用整数 score + score/5(成绩为 5 的倍数,等价于 *1.2),并 min(600, ...)。
// 复杂度:O(N)。
// 易错点:成绩封顶 600;年龄涨 1;成绩为 5 的倍数,score/5 即 20% 增量。
#include <iostream>
#include <string>
using namespace std;
struct Student {
    string name;
    int age, score;
};
int main(){
    int N;
    cin >> N;
    while(N--){
        Student s;
        cin >> s.name >> s.age >> s.score;
        s.age += 1;
        int add = s.score / 5;
        s.score = s.score + add;
        if(s.score > 600) s.score = 600;
        cout << s.name << " " << s.age << " " << s.score << endl;
    }
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK