微处理器实验报告
实验四 C 语言小程序
南京大学电子学院 10。。。。。。。 xx
一. 程序简介:中国高校的考试分数习惯用0—100的数字表达(简称为百分制), 而在美国以及一些欧洲国家则习惯用A,B,C,D,E 的等级表示成绩的高低(简称为等级制). 此程序用来实现百分制的成绩向等级制成绩的转换. 划分区间如下:
90--100: A
80----89: B
70-----79: C
60----69: D
60以下: E
二. 分析: 程序分别要完成以下功能:
1. 从键盘读入输入的百分制成绩
2. 对百分制成绩进行区间判断, 分支转移
3. 得到相应的等级制成绩
三. 程序流程图:
四. 程序清单:
#include /*头文件*/
main()
{
int score,temp,logic,number; /*定义整形变量*/
char grade;
logic=1;
while (logic) /*while循环,logic 为1则继续循环*/ {
printf("please input a student's information:\n");
scanf("%d,%d",&number,&score); /*键盘输入学号, 百分制成绩*/ getchar(); /*获取回车键*/
if (score>=0&&score
}
if (score==100) /*if实现的分支转移*/
temp=9;
else
temp=(score-score%10)/10; /*temp取值为score 十位数字*/
switch (temp) /*switch实现的分支转移*/
{
case 9:grade='A' ; break ; /*90到100分为A 等级*/
case 8:grade='B' ; break ;
case 7:grade='C' ; break ;
case 6:grade='D' ; break ;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:grade='E' ;
}
printf("number=%d,score=%d,grade=%c\n",number,score,grade); /*输出学号, 分数, 等级*/ }
/*低于60分为E 等级*/ /*80到89分为B 等级*/ /*70到79分为C 等级*/ /*60到69分为D 等级*/ /*定义字符变量*/ /*赋值*/
五. 结果显示:
; 此处输入分数105, 大于100, 要求重输
; 输入100, 输出A 等级
; 输入95, 输出A 等级
; 输入76, 输出C 等级
; 低于60分;E 等级
六. 缺点与展望:
目前只能单学号转换, 大量查询时要重复运行程序, 比较麻烦, 希望程序做改进后可以多学号转换