C语言 我用for语句多次输入数据 为什么输入一组数据就不能再输入数据了

#include<stdio.h>
#include<string.h>
int Prize[20],i;
void YsPrize(int x,int y)
{
if(x>80&&y>=1)
Prize[i]=8000;

}
void WsPrize(int a,int b)
{ if(a>85&&b>80)
Prize[i]=4000;
}
void Prizegood(int d)
{ if(d>90)
Prize[i]=2000;
}
void WestPrize(int e,char f)
{ if(e>85&&strcmp(f,"Y")==0)
Prize[i]=1000;
}
void ClassPrize(int g,char h)
{ if(g>80&&strcmp(h,"Y")==0)
Prize[i]=850;
}
struct student
{ char name[20];
int QmGrade;
int BjGrade;
char gb ;
char xb ;
int lw ;
};

void main()
{
int num,r,n,max,k,o,p,sum;
struct student a[20];
printf("请输入学生数:");
scanf("%d",&num);
printf("请输入学生信息:");
for(r=0;r<num;r++)
scanf("%s,%d,%d,%c,%c,%d",&a[r].name,&a[r].QmGrade,&a[r].BjGrade,&a[r].gb,&a[r].xb,&a[r].lw);

for(i=0;i<num;i++)
{ YsPrize(a[i].QmGrade,a[i].lw);
WsPrize(a[i].QmGrade,a[i].BjGrade);
Prizegood(a[i].QmGrade);
WestPrize(a[i].QmGrade,a[i].xb);
ClassPrize(a[i].BjGrade,a[i].gb);
}
for(n=0;n<num;n++)
{ if(max<Prize[n])
max=Prize[n];
}
for(k=0;k<num;k++)
{ if(max==Prize[k])
o=k;
break;
}
for(p=0;p<num;num++)
{ if(Prize[p]==max)
sum+=Prize[p];
}
printf("%s,%d,%d",a[o].name,max,sum);

}

第1个回答  2015-06-25
scanf("%s,%d,%d,%c,%c,%d",&a[r].name,&a[r].QmGrade,&a[r].BjGrade,&a[r].gb,&a[r].xb,&a[r].lw);

我想说的是,其实你可以把 %s 和 %d 这些分开输入,不要一下子搞这么多本回答被网友采纳
第2个回答  2015-06-25

    你这还有错误呢

追问

我知道有一堆错。。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网