这个函数的作用就是把一个百分制成绩转换成等级制。转换的过程我已经在讲解分支结构的时候详细阐述了......
这一讲开始之前,我们需要准备一个函数。这个函数的作用就是把一个百分制成绩转换成等级制。转换的过程我已经在讲解分支结构的时候详细阐述了,现在仅提供函数如下:
/* 准备 grade.h */
char grade(int score) {
switch (score / 10) {
case 10: case 9:
return 'A';
case 8:
return 'B';
case 7:
return 'C';
case 6:
return 'D';
case 5: case 4: case 3:
case 2: case 1: case 0:
return 'E';
default:
return 0;
}
}
在讲解分支结构时提出的实例都只能解决一个成绩的情况。假如需要将 5 个人的成绩进行转换,最简单的办法如下:
/* 例1 */
#include "grade.h"
#include
void main() {
int n;
printf("请输入成绩: ");
scanf("%d", &n);
printf("等级为: %c", grade(n));
printf("请输入成绩: ");
scanf("%d", &n);
printf("等级为: %c", grade(n));
printf("请输入成绩: ");
scanf("%d", &n);
printf("等级为: %c", grade(n));
printf("请输入成绩: ");
scanf("%d", &n);
printf("等级为: %c", grade(n));
printf("请输入成绩: ");
scanf("%d", &n);
printf("等级为: %c", grade(n));
}
例1 的结构非常简单易懂,但是书写起来只有一个感觉--烦!同样的三句话,居然重复了 5 次。如果这个班的人数不止 5 人,而是数十人的话,……天啊!简直想都不敢想!