多分支语句
IF语句只能使程序有两个分支,当遇到需要有两个以上分支时, IF语句就很不适用了,这时我们可以用 CASE语句,它能使程序有很多个分支。其效果如下图:

CASE 表达式 OF 常量1:语句序列1; 常量2:语句序列2; …… 常量N:语句序列N; else 语句序列N+1; END; 其中语句序列如果只有一句,可直接写在常量后的冒号后;如果语句序列有很多句,则应该用 BEGIN…… END加以框住。
CASE语句的作用是,根据表达式,表达式可以有多个值,分别对应于常量 1、 2等值时,就运行该常量后所对应的语句。
例:输入 1到 7之间的某个整数,打印出其对应的星期的英语名: [例 4、 4]:
program q44; var n:integer; begin write(‘n=’); readln(n); case n of 1:writeln(‘Monday’); 2:writeln(‘Tuesday’); 3:writeln(‘Wednseday’); 4:writeln(‘Thursday’); 5:writeln(‘Friday’); 6:writeln(‘Saturday’); 7:writeln(‘Sunday’); else writeln(‘WORNG!’); end; end.
例:输入一个学生的数值化成绩,把它转化为等级化成绩。即 100-90是 A, 89-80是 B, 79-70是 C, 69-60是 D, 59-0是 E。
Program q44;
Var s:integer;
G:char;
Begin
Write(‘Input the score:’);
Readln(s);
Case s div 10 of
10,9:g:=’A’;
8:g:=’B’;
7:g:=’C’;
6:g:=’D’;
else g:=’E’;
end;
writeln(s,’ ‘,g);
end.
|
用 S DIV 10这个表达式作条件; |
浙公网安备 33010602011771号