9-6 按等级统计学生成绩

// 按等级统计学生成绩 
#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)++;				
		}
	}
}

猜你喜欢

转载自blog.csdn.net/kirisame9/article/details/82894320
9-6