1 条题解
-
0
文字教学
这道题是简单的模拟题,按步骤处理即可:
- 用结构体存储每个学生的姓名、成绩、身份信息和奖金。
- 对每个学生,依次检查5项奖学金的条件,符合就累加对应奖金。
- 遍历过程中记录奖金最高的学生(若并列取第一个),并累加所有学生的总奖金。
- 按要求输出结果。
代码
#include <bits/stdc++.h> using namespace std; struct S { char nm[25]; int s1, s2, p, m; char g, w; } s[105]; int main() { int n, mx = 0, sum = 0, idx = 0; cin >> n; for (int i = 0; i < n; ++i) { cin >> s[i].nm >> s[i].s1 >> s[i].s2 >> s[i].g >> s[i].w >> s[i].p; s[i].m = 0; if (s[i].s1 > 80 && s[i].p >= 1) s[i].m += 8000; if (s[i].s1 > 85 && s[i].s2 > 80) s[i].m += 4000; if (s[i].s1 > 90) s[i].m += 2000; if (s[i].s1 > 85 && s[i].w == 'Y') s[i].m += 1000; if (s[i].s2 > 80 && s[i].g == 'Y') s[i].m += 850; sum += s[i].m; if (s[i].m > mx) { mx = s[i].m; idx = i; } } cout << s[idx].nm << endl << mx << endl << sum << endl; return 0; }
- 1
信息
- ID
- 51
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 3
- 已通过
- 3
- 上传者
京公网安备 11011102002149号