4 条题解
-
0
#include <stdio.h> #include <string.h> int main(){ int n; scanf("%d",&n); while(n--){ int x,sum=0,sum2=0; char name[25]; scanf("%d",&x); while(x--){ char a[25]; scanf("%s",a); int b,c,d; scanf("%d%d",&b,&c); char e,f; scanf(" %c %c",&e,&f);//注意空格 scanf("%d",&d); int temp=0; if(b>80&&d>0){temp+=8000;} if(b>85&&c>80){temp+=4000;} if(b>90){temp+=2000;} if(b>85&&f=='Y'){temp+=1000;} if(c>80&&e=='Y'){temp+=850;} sum+=temp; if(temp>sum2){ sum2=temp; strcpy(name,a); } } printf("%s\n",name); printf("%d\n",sum2); printf("%d\n",sum); } return 0; } -
0
#include<stdio.h> struct student { char s[100],m,n; int a,b,c; }; int main() { int d; struct student arr[100]; scanf("%d",&d); while(d--) { int e,sum=0; int k[100]={0}; int f=k[0],g=0; scanf("%d",&e); for(int i=0;i<e;i++) { scanf("%s %d %d %c %c %d",arr[i].s,&arr[i].a,&arr[i].b,&arr[i].m,&arr[i].n,&arr[i].c); if(arr[i].a>80&&arr[i].c>0) k[i]=k[i]+8000; if(arr[i].a>85&&arr[i].b>80) k[i]=k[i]+4000; if(arr[i].a>90) k[i]=k[i]+2000; if(arr[i].a>85&&arr[i].n=='Y') k[i]=k[i]+1000; if(arr[i].b>80&&arr[i].m=='Y') k[i]=k[i]+850; sum=sum+k[i]; if(k[i]>f) { f=k[i]; g=i; } } printf("%s\n",arr[g].s); printf("%d\n",f); printf("%d\n",sum); } return 0; }
-
0
#include<stdio.h> #include<string.h> struct student { char name[100]; int finalscore;//期末成绩 int classscore;//班级评价成绩 char is_cadre;//干部,太想进步了 char is_west;//西部省份 int papers;//论文 int total;//总奖金 }; int main() { int n,x;//n组,整数x scanf("%d",&n); for(int k=0;k<n;k++) { scanf("%d",&x); struct student student[x];//学生总数x个 int all=0;//x个学生总和 int max=0;//最能拿的学生 for(int i=0;i<x;i++)//判定X个 { scanf(" %s %d %d %c %c %d", student[i].name, &student[i].finalscore, &student[i].classscore, &student[i].is_cadre, &student[i].is_west, &student[i].papers);//录入数据完毕 student[i].total = 0; if(student[i].papers>=1&&student[i].finalscore>80) {student[i].total+=8000;} if(student[i].finalscore>85&&student[i].classscore>80) {student[i].total+=4000;} if(student[i].finalscore>90) {student[i].total+=2000;} if(student[i].is_west == 'Y'&&student[i].finalscore>85) {student[i].total+=1000;} if(student[i].is_cadre == 'Y'&&student[i].classscore>80) {student[i].total+=850;} all +=student[i].total;//all是所有人的综合,total是单个人的拿到手的 //开始找最优秀的那个货 if(student[i].total>student[max].total) { max=i; } } printf("%s\n",student[max].name); printf("%d\n",student[max].total); printf("%d\n",all); } return 0; } -
0
#include<stdio.h> struct node { char name[1000]; int a,b;//期末成绩 班成绩 char x[10],y[10];//干部 省 int num;//论文 }; int main() { int n; scanf("%d",&n); struct node arr[100]; while(n--){ int x; scanf("%d",&x); int sum[10000]={0}; int all=0; int flag1=0; int num1=0; for(int i=0;i<x;i++){ scanf("%s %d %d %s %s %d",arr[i].name,&arr[i].a,&arr[i].b,arr[i].x,arr[i].y,&arr[i].num); if(arr[i].a>80&&arr[i].num>0){ sum[i]+=8000; } if(arr[i].a>85&&arr[i].b>80){ sum[i]+=4000; } if(arr[i].a>90){ sum[i]+=2000; } if(arr[i].a>85&&arr[i].y[0]=='Y'){ sum[i]+=1000; } if(arr[i].b>80&&arr[i].x[0]=='Y'){ sum[i]+=850; } all+=sum[i]; if(flag1<sum[i]){ flag1=sum[i]; num1=i; } if(i==(x-1)){ printf("%s\n",arr[num1].name); printf("%d\n",flag1); printf("%d\n",all); } } } return 0; }
- 1
信息
- ID
- 141
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 1491
- 已通过
- 235
- 上传者