编译没有错,运行也可以,为什么输出的max少150,其他输出都没有错,我看程序自己算也是9000,但运行却少150,看了很久还是找不出错误在哪,求大神指教
a【100】【20】代表姓名,b【100】期中考成绩,c【100】代表班级成绩,d【100】代表是否干部,e【100】代表是否西部学生,f【100】代表发表论文数#include <stdio.h>
int main()
{ char a[100][20],d[100],e[100];
int b[100],c[100],f[100],i,N,j;
long sum[100]={0,0,0,0},max,even=0;
scanf("%d",&N);
for(i=0;i<N;i++)
scanf("%s %d %d %c %c %d",&a[i][20],&b[i],&c[i],&d[i],&e[i],&f[i]);
for(i=0;i<N;i++)
{ if(b[i]>80&&f[i]>=1)
sum[i]=sum[i]+8000;
if(b[i]>85&&c[i]>80)
sum[i]=4000+sum[i];
if(b[i]>90)
sum[i]=sum[i]+2000;
if(b[i]>85&&e[i]=='Y')
sum[i]=sum[i]+1000;
if(c[i]>80&&d[i]=='Y')
sum[i]=sum[i]+850;
}
max=sum[0];
for(i=1;i<N;i++)
if(sum[i]>sum[0])
{max=sum[i];
j=i;}
printf("%s\n",a[j]);
printf("%d\n",max);
for(i=0;i<N;i++)
even+=sum[i];
printf("%d\n",even);
return 0;
}
输入(样例)
4
YaoLin 87 82 Y N 0
ChenRuiyi 88 78 N Y 1
LiXin 92 88 N N 0
ZhangQin 83 87 Y N 1
输出
ChenRuiyi
9000
28700
运行
ChenRuiyi
8850
28700