求解定义一个学生成绩的结构体数组

定义一个学生成绩的结构体数组,编写函数,根据学生成绩给出“优、良、中、及格”的评定“90-100”-优、“80-90”-良,“70-80”-中,“60-70”-及格。

成绩除以10,用switch...case...

struct student
{
  char name[20];
  int score;
  char grade[10];
}stu[100];

int n=0;

void fun()
{
  for(int i=0;i<n;i++)
  {
    int g = stu[i].score/10;
    switch(g)
    {
      case 9:
      case 10:
        stu[i].grade = "优";
        break;
      case 8:
        stu[i].grade = "良";
        break;
      case 7:
        stu[i].grade = "中";
        break;
      case 6:
        stu[i].grade = "及格";
        break;
      default:
        stu[i].grade = "不及格";
        break;
    }
  }
}

void main()
{
  printf("请输入学生人数:");
  scanf("%d",&n);
  printf("请逐行输入%d个学生的姓名和成绩:\n",n);
  int i;
  for(i=0;i<n;i++)
    scanf("%s %d",stu[i].name,&stu[i].score);
  fun();
  for(i=0;i<n;i++)
    printf("%s %d %s\n",stu[i].name,stu[i].score,stu[i].grade);
}

成绩除以10,用switch...case...

struct student
{
  char name[20];
  int score;
  char grade[10];
}stu[100];

int n=0;

void fun()
{
  for(int i=0;i<n;i++)
  {
    int g = stu[i].score/10;
    switch(g)
    {
      case 9:
      case 10:
        strcpy(stu[i].grade ,"优");
        break;
      case 8:
        strcpy(stu[i].grade ,"良");
        break;
      case 7:
        strcpy(stu[i].grade ,"中");
        break;
      case 6:
        strcpy(stu[i].grade ,"及格");
        break;
      default:
        strcpy(stu[i].grade ,"不及格");
        break;
    }
  }
}

void main()
{
  printf("请输入学生人数:");
  scanf("%d",&n);
  printf("请逐行输入%d个学生的姓名和成绩:\n",n);
  int i;
  for(i=0;i<n;i++)
    scanf("%s %d",stu[i].name,&stu[i].score);
  fun();
  for(i=0;i<n;i++)
    printf("%s %d %s\n",stu[i].name,stu[i].score,stu[i].grade);
}