浙大版《C语言程序设计(第3版)》题目集 习题9-6 按等级统计学生成绩 (20分)

在这里插入图片描述

#include <stdio.h>
#define MAXN 10
struct student
{
    int num;
    char name[20];
    int score;
    char grade;
};
int set_grade(struct student *p, int n);
int main()
{
    struct student stu[MAXN], *ptr;
    int n, i, count;
    ptr = stu;
    scanf("%d\n", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d%s%d", &stu[i].num, stu[i].name, &stu[i].score);
    }
    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;
}
int set_grade(struct student *p, int n)
{
    int i, fail;
    i = 0;
    fail = 0;
    while (i < n)
    {
        if (p->score >= 85)
            p->grade = 'A';
        else if (p->score >= 70)
            p->grade = 'B';
        else if (p->score >= 60)
            p->grade = 'C';
        else
        {
            fail++;
            p->grade = 'D';
        }
        p++;
        i++;
    }
    return fail;
}
发布了250 篇原创文章 · 获赞 117 · 访问量 8511

猜你喜欢

转载自blog.csdn.net/qq_44458489/article/details/105376372