简单结构体应用:输入学生信息输出学生成绩等级以及不及格人数。

要求:从键盘输入N个学生的学号、姓名、成绩信息,按优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(<60)五个等级,设置学生成绩的等级,并统计不及格的人数。

 


  1. 首先分析要存放的信息,设计合适的数据结构。
  2. 按照模块化程序设计思想,把要求的设计学生成绩等级功能做成相应的函数set_grade(),函数返回不及格的人数,调用采用传地址调用方式。
  3. set_grade()函数采用循环结构,循环利用指针的移动,用多分支结构来设置学生信息中的等级。
  4. 主函数中先输入学生信息,再调用set_grade()函数设置学生成绩等级,最后输出学生信息和不及格的学生人数。

 


代码: 

 #include<stdio.h>
int set_grade(int x);
int main()
{
	struct student
	{int num;
	char name[100];
	int score;
	}a[100],*p;p=a;
	int i,N,c;
	printf("请输入学生人数:N=");
	scanf("%d",&N);
	printf("\n");
	printf("请输入学生信息\n");
	for(i=0;i<N;i++)
	{printf("输入第%d位学生信息\n",i+1);
	scanf("%d%s%d",&a[i].num,a[i].name,&a[i].score);
	printf("\n");}
	for(i=0;i<N;i++,p++){
	printf("%d %s %d",p->num,p->name,p->score);
	set_grade(a[i].score);
	printf("\n");}
	printf("不及格人数有%d人",c);
	return 0;
}
int set_grade(int x)
{
	int b,c=0;
	b=x/10;
	switch(b)
	{
	case 10:
	case 9:printf("优秀");break; 
	case 8:printf("良好");break;
	case 7:printf("中等");break;
	case 6:printf("及格");break;
	case 5:
	case 4:
	case 3:
	case 2:
	case 1:
	case 0:printf("不及格");break;    
	}
	if(b<6){c=c+1;}return(c);
}

运行结果:

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值