社区讨论
测试点下载下来可以!但是就是过不了,大佬救命!!!!
P1051[NOIP 2005 提高组] 谁拿了最多奖学金参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo2uwf5r
- 此快照首次捕获于
- 2023/10/23 20:10 2 年前
- 此快照最后确认于
- 2023/10/23 20:10 2 年前
C
#include<iostream>
using namespace std;
int main(){
int sum = 0,max = 0,n,i,j,solomoney;
char tempname[100];
char maxname[100];
char temp;
int tempsum,maxsum;
int lastresult,classresult,paper;
int control = 0;
char stuganbu,weststu;
cin>>n;
getchar();
//getchar();
for(i = 0;i<n;i++){
lastresult = 0;
classresult = 0;
paper = 0;
control = 0;
solomoney = 0;
tempsum = 0;
/*for(j = 0;j<99;j++){
tempname[j] = '\0';
}*/
while(~scanf("%c",&temp)){
if(temp == '\n'){
break;
}
if(temp == ' '){
control++;
continue;
}
if(control == 0){
tempname[tempsum++] = temp;
}else if(control == 1){
lastresult = lastresult*10 + temp - 48;
}else if(control == 2){
classresult = classresult*10 + temp -48;
}else if(control == 3){
stuganbu = temp;
}else if(control == 4){
weststu = temp;
}else if(control == 5){
paper = paper*10 + temp - 48;
}
}
//院士奖学金
if(lastresult>80&&paper>=1){
solomoney += 8000;
}
//五四奖学金
if(lastresult>85&&classresult>80){
solomoney += 4000;
}
//成绩优秀奖
if(lastresult>90){
solomoney += 2000;
}
//西部奖学金
if(lastresult>85&&weststu == 'Y'){
solomoney += 1000;
}
//班级贡献奖
if(classresult>80&&stuganbu == 'Y'){
solomoney += 850;
}
sum += solomoney;
if(max<solomoney){
max = solomoney;
for(j = 0;j<tempsum;j++){
maxname[j] = tempname[j];
}
maxsum = tempsum;
}
}
for(j = 0;j<maxsum;j++){
cout<<maxname[j];
}
cout<<endl;
cout<<max<<endl;
cout<<sum;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...