NOIP2005 提高组 复赛 scholar 谁拿了最多奖学金

NOIP2005 提高组 复赛 scholar 谁拿了最多奖学金

1.读完题目,马上就决定用结构体了。

2.读取Y,N信息建议用字符串。

3.按部就班,很快将程序编好。

4.测试样例,有些小错误,静态检查,找到笔误,修改,样例通过,提交AC。


耗时:20分钟

难度:简单

附上AC代码:

//2005 scholar 谁拿了最多奖学金
#include <stdio.h>
struct student{
    char name[20+10];
    int qm_score;
    int bj_score;
    char gb[10];
    char xb[10];
    int lw;
    int jj;
}stu[100+10],stu_t;
int main(){
    int n;
    int i,j;
    int sum=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%s%d%d%s%s%d",&stu[i].name,&stu[i].qm_score,&stu[i].bj_score,&stu[i].gb,&stu[i].xb,&stu[i].lw);
        stu[i].jj=0;
    }
    for(i=0;i<n;i++){
        if(stu[i].qm_score>80&&stu[i].lw>=1){
            stu[i].jj+=8000;
            sum+=8000;
        }
        if(stu[i].qm_score>85&&stu[i].bj_score>80){
            stu[i].jj+=4000;
            sum+=4000;
        }
        if(stu[i].qm_score>90){
            stu[i].jj+=2000;
            sum+=2000;
        }
        if(stu[i].qm_score>85&&stu[i].xb[0]=='Y'){
            stu[i].jj+=1000;
            sum+=1000;
        }
        if(stu[i].bj_score>80&&stu[i].gb[0]=='Y'){
            stu[i].jj+=850;
            sum+=850;
        }
    }
    
    for(i=0;i<n;i++)
        for(j=i+1;j<n;j++)
            if(stu[i].jj<stu[j].jj){
                stu_t=stu[i];
                stu[i]=stu[j];
                stu[j]=stu_t;
            }
    printf("%s\n",stu[0].name);
    printf("%d\n",stu[0].jj);
    printf("%d\n",sum);
    return 0;
}

再次编写此题时,竟然提交只有30分,反复读代码,就是找不出问题,也明白肯定是读题有问题,上网查找其他途径的该题题目,还是查不出,无奈,只好搁置,第二天一早,再对照题目读代码,竟然一遍找出问题所在:

班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;

代码却写成了:

班级贡献奖,每人850元,期末评议成绩高于80分(>80)的学生干部均可获得;

if(stu[i].bj>80&&stu[i].gb[0]=='Y')//好难找,必须心平气和,错误代码 if(stu[i].qm>80&&stu[i].gb[0]=='Y')

马上修改,提交AC。

2017-1-20


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值