给定5名学生的考试成绩,评判每个学生的成绩等级,并输出。编写程序实现之。 成绩按以下标准评定等级: 优

1. 问题描述

给定5名学生的考试成绩,评判每个学生的成绩等级,并输出。编写程序实现之。
成绩按以下标准评定等级:
优:90≤S≤100;良:80≤S<90;中:70≤S<80; 及格:60≤S<70;不及格:S<60。
2.问题分析

已知:5个学生成绩:s1、s2、s3、s4、s5,从键盘输入,数据类型为整型。
求:5个学生成绩等级,g1、g2、g3、g4、g5,数据类型为字符型。
求解该问题的基本思想是:从键盘依次读取学生成绩数据,每读一个学生成绩,就按照成绩等级评定标准评定等级,并输出该学生等级。
由于有确定的5个学生,所以读取学生成绩和评定成绩等级共5次。该问题显然是一个重复次数确定的重复处理问题,可通过“计数型”循环结构和DO循环语句实现。
用整型变量cj表示学生成绩,用字符型变量grade表示成绩等级。用整型变量I作为循环控制变量。
通过分析,设计算法,绘制框图,如图6-2所示。


图6-2 程序框图
结束
输出学生等级grade


开始
I=1

I≤5
输入学生成绩cj

grade= ‘成绩’错’
grade=‘良’
grade=‘中’
grade=‘及’
cj<60


cj<70


cj<80


cj<90


grade=‘不’及’
grade=‘优’

cj<0 或cj>100
I=I+1

3.程序编写

根据算法和框图,设计和编写程序如下(在下划线空白处填充正确内容):
Ø !班级:???
Ø !姓名:???
Ø !时间:???
Ø !判定学生成绩的等级
Ø PROGRAM main
Ø INTEGER(1) I,cj
Ø CHARACTER*6 grade
Ø DO I=
Ø WRITE(*,“(1X, ‘请输入第’, I2, ‘个学生成绩(0到100之间整数): ’, /)”) I
Ø READ *,cj
Ø IF (cj<0 .OR. cj> ) THEN
Ø grade=‘成绩错’
Ø ELSEIF (cj<60) THEN
Ø grade=‘不及格’
Ø ELSE IF (cj<70) THEN
Ø grade=
Ø ELSE IF (CJ<80) THEN
Ø grade=‘中’
Ø ELSE IF (CJ<90) THEN
Ø grade=‘良’
Ø ELSE
Ø grade=
Ø ENDIF
Ø PRINT*,‘该学生成绩等级为: ’,grade
Ø PRINT*
Ø
Ø END

第1个回答  2012-10-19
选盼壶
相似回答