// 按等级统计学生成绩
#include <stdio.h>
#define N 10
struct Student {
char num[15];
char name[15];
int score;
char grade;
};
void set_grade (struct Student *p, int n, int *f);
int main(void)
{
int i, n;
int fail = 0;
struct Student s[N];
printf("请输入学生人数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("学生%d信息\n",i+1);
printf("学号:");
scanf("%s",s[i].num);
printf("姓名:");
scanf("%s",s[i].name);
printf("成绩:");
scanf("%d",&s[i].score);
}
set_grade (s,n,&fail);
printf("学生成绩信息\n");
printf("姓名\t等级\n");
for (i=0;i<n;i++)
{
printf("%s\t",s[i].name);
printf("%c\n",s[i].grade);
}
printf("不及格人数:%d\n",fail);
return 0;
}
void set_grade (struct Student *p, int n, int *f)
{
int i;
*f = 0;
for (i=0;i<n;i++,p++)
{
if (p->score>=85&&p->score<=100)
{
p->grade = 'A';
}
else if (p->score>=70&&p->score<=84)
{
p->grade = 'B';
}
else if (p->score>=60&&p->score<=69)
{
p->grade = 'C';
}
else
{
p->grade = 'D';
(*f)++;
}
}
}