讨论 / 一个点也不对?不能吧,我测试的时候都是对的,我是新手,c语言写的,求教!!!!
达哥最帅最牛逼 2018-01-22 13:17:35
点我顶贴 收藏 删除
struct per{

char name[20];

int a;

int b;

char x;

char y;

int c;

int sum;

};

#include<stdio.h>

int main(){

char a1,a2,a3;//后面输入数据的时候的三个空格。。我不会别的方法,把“Y”“N”,录进去。

int n,i,max,co=0;

struct per p[100];

scanf("%d",&n);

for (i=0; i<n; i++) {

scanf("%s%d%c%d%c%c%c%c%d",&p[i].name,&p[i].a,&a1,&p[i].b,&a2,&p[i].x,&a3,&p[i].y,&p[i].c);

p[i].sum=0;

}

for (i=0; i<n; i++) {

if ((p[i].a>80)&&(p[i].c>0)) {

p[i].sum+=8000;

}

if ((p[i].a>85)&&(p[i].b>80)) {

p[i].sum+=4000;

}

if (p[i].a>90) {

p[i].sum+=2000;

}

if ((p[i].a>85)&&(p[i].y=='Y')) {

p[i].sum+=1000;

}

if ((p[i].b>80)&&(p[i].x=='Y')) {

p[i].sum+=850;

}

}

max=p[0].sum;

for (i=0; i<n; i++) {

if (p[i].sum>max) {

max=p[i].sum;

}

co=co+p[i].sum;

}

for (i=0; i<n; i++) {

if (p[i].sum==max) {

printf("%s",p[i].name);

printf("\n");

printf("%d\n",p[i].sum);

printf("%d\n",co);

break;

}

}

return 0;

}

查看更多回复
提交回复