回复 楼主 he5273694
补充整个程序
#include<stdio.h>
#define SIZE 300
typedef struct student
{
int num;
double score[3];
}STUDENT;
typedef enum boolen
{
False,True
}FLAG;
int main()
{
STUDENT stu[SIZE];
int grade[SIZE]={0};
int sum;
int accept(STUDENT stu[],int grade[]);
sum=accept(stu,grade);
return 0;
}
int accept(STUDENT stu[],int grade[])
{
int i=0,sum=0,temp,a1,a2;
FLAG flag;
printf("请输入计算总评成绩的平时成绩和考试成绩的比例,用整数表示");
flag=True;
while(flag==True)
{
scanf("%d,%d",&a1,&a2);
if((a1+a2)!=100)
printf("输入数据有错,请输入两个和为100的整数\n");
else
flag=False;
}
while(i<SIZE)
{
printf("请输入学号:");
scanf("%d",&stu[i].num);
if(stu[i].num==-1)
{
sum=i;
break;
}
printf("请输入学生的平时成绩和考试成绩:");
flag=True;
while(flag==True)
{
scanf("%d,%d",&stu[i].score[0],&stu[i].score[1]);
if(stu[i].score[0]>=0 && stu[i].score[0]<=100 && stu[i].score[1]>=0 && stu[i].score[1]<=100)
flag=False;
else
printf("输入的数据有误,请输入0-100的数:");
}
temp=(int)(a1/100*stu[i].score[0]+a2/100*stu[i].score[1]);
stu[i].score[2]=temp;
temp=(int)stu[i].score[1]/10;
if(temp==10)
grade[10]++;
else
grade[temp+1]++;
i++;
}
return sum;
}