赞
踩
本程序的功能:输入10个学生的学号、姓名和成绩,输出学生的成绩等级和不及格人数。每个学生的记录包括学号、姓名、成绩和等级,要求定义和调用函数setgrade (),根据学生成绩设置其等级,并统计不及格人数, 等级设置:85~100为A,70~84为B,60~69为C,0~59为D。请改正程序中的错误并调试
注意:改错时不允许增加及删除语句,只允许修改或移动语句的位置
#include <stdio.h>
#define N 10
struct student {
int num;
char name[20];
int score;
char grade;
};
int set_grade(struct student *p);
int main(void)
{
struct student stu[N], *ptr;
int i, count;
ptr = stu;
printf("Input the student's number, name and score:\n");
for (i = 0; i < N; i++) {
printf("No %d: ", i + 1); /*提示输入第i个同学的信息*/
scanf("%d%s%d", &stu[i].num, stu[i].name, &stu[i].score);
}
count = set_grade(ptr);
printf("The count (<60): %d\n", count);
printf("The student grade:\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 i, n = 0;
for (i = 0; i < N; i++, p++) {
if (p->score >= 85)
p->grade = 'A';
else if (p->score >= 70)
p->grade = 'B';
else if (p->score >= 60)
p->grade = 'C';
else {
p->grade = 'D';
n++;
}
}
return n;
}
调试结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。