-->
当前位置:首页 > 题库 > 正文内容

程序填空题:成绩转换

Luz4年前 (2021-05-10)题库3267
输入一个正整数n,再输入n个学生的姓名和百分制成绩,将其转换为两级制成绩后输出。要求定义和调用函数set_grade(stu, n),其功能是根据结构数组stu中存放的学生的百分制成绩score,将其转换为两级制成绩,并赋给grade。百分制成绩到两级制成绩的转换规则:大于或等于60分为P,否则为F。

```c++
#include
#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](1) ){
@@[if ( p->score >= 60 ) p->grade = 'P';](1)
@@[else p->grade = 'F';](1)
p++;
}
}

```






答案:
第1空:p <= q

第2空:if ( p->score >= 60 ) p->grade = 'P';

第3空:else p->grade = 'F';

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。