5-1
输入一个正整数n,再输入n个学生的姓名和百分制成绩,将其转换为两级制成绩后输出。要求定义和调用函数set_grade(stu, n),其功能是根据结构数组stu中存放的学生的百分制成绩score,将其转换为两级制成绩,并赋给grade。百分制成绩到两级制成绩的转换规则:大于或等于60分为P,否则为F。
#include<stdio.h>
#define MAXN 100
struct student{
char name[20];
int score;
char grade;
};
void set_grade( struct student *p, int n );
int main()
{
int i, n;
struct student stu[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%s%d", stu[i].name, &stu[i].score);
}
set_grade(stu, n);
for(i = 0; i < n; i++)
printf("%s %c\n", stu[i].name, stu[i].grade);
return 0;
}
void set_grade(struct student *p, int n)
{
struct student *q = p + n - 1;
while( p <= q ){
if((*p).score >= 60)(*p).grade = 'P'
else (*p).grade = 'F'
p++;
}
}