问题遇到的现象和发生背景
wa
问题相关代码,请勿粘贴截图
#include <bits/stdc++.h>
using namespace std;
int main()
{
int rs = 0;//人数
string name,lzm;
double qm = 0,py = 0,lw = 0,lz = -1,zs = 0,dqjxj = 0;//成绩及论文数
char gb,xb;//判断干部及西部
cin >> rs;
for(int i = 1;i <= rs;i++)
{
cin >> name >> qm >> py >> gb >> xb >> lw;
if(qm > 80 && lw >= 1) dqjxj += 8000;
if(qm > 85 && py >= 80) dqjxj += 4000;
if(qm > 90) dqjxj += 2000;
if(qm > 85 && xb == 'Y') dqjxj += 1000;
if(py > 80 && gb == 'Y') dqjxj += 850;
if(dqjxj > lz)
{
lz = dqjxj;
lzm = name;
}
zs += dqjxj;
dqjxj = 0;
}
cout << lzm << endl;
cout << lz << endl;
cout << zs << endl;
return 0;
}
运行结果及报错内容
无
我想要达到的结果
第一行是一个整数 NN(1 \le N \le 1001≤N≤100),表示学生的总数。
接下来的 NN 行每行是一位学生的数据,从左向右依次是 学号,学期结束平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。学号\in[0..10^4]∈[0..10
4
] ;学期结束的平均成绩和班级评议成绩 \in [0..100]∈[0..100];是否是学生干部和是否是西部省份学生分别用一个数字表示,11 表示是,00 表示不是;发表的论文数 \in [0, 10]∈[0,10]。每两个相邻数据项之间用一个空格分隔。
输出包括三行。
第一行是获得最多奖金的学生的学号。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的学号。
第二行是这名学生获得的奖金总数。
第三行是这 NN 个学生获得的奖学金的总数。