首页 > 技术文章 > 【PTA】5-1 输入一个正整数n,再输入n个学生的姓名和百分制成绩,将其转换为两级制成绩后输出。

ekertree 2021-05-11 19:34 原文

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++;
    }
}

推荐阅读