C语言程序设计第四版(何钦铭、颜晖)第九章结构习题之按等级统计学生成绩

发布时间:2026/5/26 20:53:29

C语言程序设计第四版(何钦铭、颜晖)第九章结构习题之按等级统计学生成绩 6. 按等级统计学生成绩:输入10个学生的学号、姓名和成绩,输出学生的成绩等级和不及格人数。每个学生的记录包括学号、姓名、成绩和等级,要求定义和调用函数set_grade(),根据学生成绩设置其等级,并统计不及格人数,等级设置:85~100为A,70~84为B,60~69为C,0~59为D。试编写相应程序。#includestdio.h #includestdlib.h struct Student { int num; char name[10]; float score; char grade; }; int set_grade(struct Student *stu,int n){ int i,count; count0; for(i0;in;i){ if(stu[i].score 100 || stu[i].score 0) { // 处理非法分数 stu[i].grade D; count; } else if(stu[i].score85)stu[i].gradeA; else if(stu[i].score70)stu[i].gradeB; else if(stu[i].score60)stu[i].gradeC; else { stu[i].gradeD; count; } } return count; } int main(){ int n10,i,cnt; struct Student stu[10]; for(i0;i10;i){ // 限制输入字符串长度防止缓冲区溢出 scanf(%d%9s%f,stu[i].num,stu[i].name,stu[i].score); } cntset_grade(stu,n); for(i0;in;i){ printf(%d %s %.2f %c\n,stu[i].num,stu[i].name,stu[i].score,stu[i].grade); } printf(经统计过后成绩不合格的人数为%d\n,cnt); return 0; }输入样例111 qqq 90222 www 80333 eee 36444 rrr 75555 ttt 25666 yyy 87777 uuu 60888 iii 84999 ooo 92123 ppp 56输出结果111 qqq 90.00 A222 www 80.00 B333 eee 36.00 D444 rrr 75.00 B555 ttt 25.00 D666 yyy 87.00 A777 uuu 60.00 C888 iii 84.00 B999 ooo 92.00 A123 ppp 56.00 D经统计过后成绩不合格的人数为3

相关新闻