c语言:结构体-按等级统计学生成绩

【问题描述】

按等级统计学生成绩: 输入 10 个学生的学号、姓名和成绩,输出学生的成绩等级和不及格人数。每个学生的记录包括学号、姓名、成绩和等级,根据学生成绩设置其等级,并统计不及格人数,等级设置: 85~100 为 A, 70~84 为 B, 60~69为 C, 0~59 为 D。试编写相应程序。
【输入形式】

第一行输入为正整数n,表示输入学生的人数,

然后接着输入n行分别表示

学号 姓名 成绩
【输出形式】

第一行输出考试不及格的人数,然后是每位同学的等级形式,具体见样例输出
【样例输入】

10 

31001 annie 85

31002 bonny 75 

31003 carol 70 

31004 dan 84 

31005 susan 90 

31006 paul 69 

31007 pam 60 

31008 apple 50 

31009 nancy 100 

31010 bob 78

【样例输出】

The count for failed (<60): 1 

The grades: 

31001 annie A 

31002 bonny B 

31003 carol B 

31004 dan B 

31005 susan A 

31006 paul C 

31007 pam C 

31008 apple D 

31009 nancy A 

31010 bob B

#include<stdio.h>
struct student{
	int num;
	char name[10];
	int score;
	char rank;
};

int main()
{
	int i,n,count=0;
	double ;
	struct student students[10];
	
	scanf("%d",&n);
	//判断n是否为正整数,不是则退出 
	if(n<=0){
		return 0;
	}
	for(i=0;i<n;i++){
		scanf("%d %s %d",&students[i].num,&students[i].name,&students[i].score);
		if(students[i].score>=85&&students[i].score<=100){
			students[i].rank='A';
		}else if(students[i].score>=70&&students[i].score<=84){
			students[i].rank='B';
		}else if(students[i].score>=60&&students[i].score<=69){
			students[i].rank='C';
		}else{
			students[i].rank='D';
			count++;
		}
	}
	
	//输出 
	printf("The count for failed (<60): %d\n",count);
	printf("The grades:\n");
	for(i=0;i<n;i++){
		printf("%05d %s %c\n",students[i].num,students[i].name,students[i].rank);
	}
	
	return 0; 
}

求个赞啦>-<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值