分析:本题意在测试字符串、字符、与数字同时出现如何读入

另外由于题目要求输出获得奖学金最多学生的姓名,猛地一看好像需要保存数据。其实只定义一个变量保存做多奖学金的学生姓名即可。

边读入边处理,但是保存了所有数据的程序:

#include<cstdio>
char name[110][30];
int qm[110],py[110],num[110];
char gb[110],xb[110];
int main(){
    int n,maxs=0,t=0,s=0;
    char x;
    scanf("%d",&n);
    for (int i=1;i<=n;i++){
        scanf("%s",name[i]);
        scanf("%d%d",&qm[i],&py[i]);
        scanf("%c%c%c%c",&x,&gb[i],&x,&xb[i]);
        scanf("%d",&num[i]);
        //            scanf("%s%d%d%c%c%d",name[i],&qm[i],&py[i],gb[i],xb[i],&num[i]);
        int sum=0;
        if (qm[i]>80&&num[i]>0) sum=sum+8000;
        if (qm[i]>85&&py[i]>80) sum=sum+4000;
        if (qm[i]>90)        sum=sum+2000;
        if (qm[i]>85&&xb[i]=='Y')sum=sum+1000;
        if (py[i]>80&&gb[i]=='Y')sum=sum+850;
        if (sum>maxs) {
            maxs=sum;
            t=i;
        }
        s=s+sum;    
    }
    printf("%s\n%d\n%d\n",name[t],maxs,s);
    return 0;
}
View Code

相关文章:

  • 2021-08-11
  • 2021-05-21
  • 2022-02-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-19
猜你喜欢
  • 2021-09-10
  • 2021-10-12
  • 2021-09-08
  • 2021-05-27
  • 2021-12-25
  • 2022-01-09
相关资源
相似解决方案