本文共 2225 字,大约阅读时间需要 7 分钟。
set_grade函数旨在根据学生的考试成绩自动评定等级,并统计不及格(成绩低于60分)的学生人数。这个简单的函数可以帮助教师或自动化系统快速处理学生成绩数据,方便后续统计和分析。
函数接口定义
int set_grade(struct student *p, int n);
输入参数
p
:指向学生信息的结构体数组的指针n
:学生数组的元素个数结构体定义
struct student { int num; // 学号 char name[20]; // 姓名 int score; // 成绩 char grade; // 等级};
设置等级:
统计不及格人数:
返回值:
int set_grade(struct student *p, int n) { int count = 0; for (int i = 0; i < n; i++) { if (p[i].score >= 85) { p[i].grade = 'A'; } else if (p[i].score >= 70) { p[i].grade = 'B'; } else if (p[i].score >= 60) { p[i].grade = 'C'; } else { p[i].grade = 'D'; count++; } } return count;}
#include#define MAXN 10struct student { int num; char name[20]; int score; char grade;};int set_grade(struct student *p, int n);int main() { struct student stu[MAXN]; char *ptr = stu; int n, i, count; scanf("%d\n", &n); for (i = 0; i < n; i++) { scanf("%d%s%d", &stu[i].num, stu[i].name, &stu[i].score); stu[i].grade = '\0'; // 初始化为非空字符,避免未赋值问题 } count = set_grade(ptr, n); printf("The count for failed (<60): %d\n", count); printf("The grades:\n"); for (i = 0; i < n; i++) { printf("%d %s %c\n", stu[i].num, stu[i].name, stu[i].grade); } return 0;}
1031001 annie 8531002 bonny 7531003 carol 7031004 dan 8431005 susan 9031006 paul 6931007 pam 6031008 apple 5031009 nancy 10031010 bob 78
The count for failed (<60): 1The grades:31001 annie A31002 bonny B31003 carol B31004 dan B31005 susan A31006 paul C31007 pam C31008 apple D31009 nancy A31010 bob B
输入与输出解析:
函数核心逻辑:
count
自增,最后返回该计数器值通过上述实现,您可以轻松地根据学生成绩自动评定等级并统计不及格人数,方便后续的数据分析与管理。
转载地址:http://xwgkk.baihongyu.com/