1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int n; // 总人数 string xm[105]; // 每个人的姓名 int qm[105], bj[105]; // 每个人的期末成绩、班级成绩 char gb[105], xb[105]; // 是否是学生干部、西部省份 int lw[105]; // 论文数量 int jxj[105]; // 奖学金数量 int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> xm[i] >> qm[i] >> bj[i] >> gb[i] >> xb[i] >> lw[i]; jxj[i] = 0; if (qm[i] > 80 && lw[i] >= 1) jxj[i] += 8000; if (qm[i] > 85 && bj[i] > 80) jxj[i] += 4000; if (qm[i] > 90) jxj[i] += 2000; if (qm[i] > 85 && xb[i] == 'Y') jxj[i] += 1000; if (bj[i] > 80 && gb[i] == 'Y') jxj[i] += 850; } int ansMax = 1; // 一开始认为第一个人奖学金最高 int sum = 0; for (int i = 1; i <= n; i++) { if (jxj[i] > jxj[ansMax]) ansMax = i; sum += jxj[i]; } cout << xm[ansMax] << "\n"; cout << jxj[ansMax] << "\n"; cout << sum; return 0; }
#include <iostream> using namespace std; struct st { string name;//姓名 int qm, bj;//期末、班级评议 char gb, west;//干部、西部 int lw;//论文 }; st s[101]; //s[0]~s[100] 都是一个 st 类型的变量 int main() { int n; // 谁获得了最多奖学金,获得了多少,总奖学金 int maxi, maxx = 0, total = 0; cin >> n; for (int i = 1; i <= n; i++) { cin >> s[i].name >> s[i].qm >> s[i].bj >> s[i].gb >> s[i].west >> s[i].lw; int sum = 0;//计算第 i 位同学获得的奖学金 if (s[i].qm > 80 && s[i].lw >= 1) sum += 8000; if (s[i].qm > 85 && s[i].bj > 80) sum += 4000; if (s[i].qm > 90) sum += 2000; if (s[i].west == 'Y' && s[i].qm > 85) sum += 1000; if (s[i].gb == 'Y' && s[i].bj > 80) sum += 850; if (maxx < sum) maxx = sum, maxi = i; total += sum; } cout << s[maxi].name << "\n" << maxx << "\n" << total; return 0; }
- 1
信息
- ID
- 1223
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 4
- 标签
- 递交数
- 100
- 已通过
- 47
- 上传者