这怎么错了,pascal 高手进

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:47:09
做一个分数打等第的程序,看看
program cj;
var a:real;
b:integer;
begin
writeln('input x');
readln(a);
b:=trunc(a/10);
case b of
9,10: writeln(A)
8: writeln(B)
7: writeln(C)
6: writeln(D)
5,4,3,2,1,0: writeln(E)
else
writeln(W);
end
readln
end.

他说我缺少end,在8那个数字那边,怎么改?
实在不行直接把这题做出来
90-100得A
80-89得B
70-79得C
60-69得D
0-59得E
其余得W(不管负数还是大于100,W是Wrong)
用case 语句做
还要注意如99.5 56.5 也算
高分速求

差分号:
应该改为:
program cj;
var a:real;
b:integer;
begin
writeln('input x');
readln(a);
b:=trunc(a/10);
case b of
9,10: writeln('A');
8: writeln('B');
7: writeln('C');
6: writeln('D');
5,4,3,2,1,0: writeln('E')
else
writeln('W');
end;
readln;
end.

少了一个分号

你的问题真是严重,在write(a),write(b)等语句后面加';'号,而且倒数第二个END后面要加‘;’最后的readln后面加';'还有输出语句中的A,B,C,D,E,W都要用引号(即‘’)括起来。这样整个程序就编译通过了
标程如下
program cj;
var a:real;
b:integer;
begin
writeln('input x');
readln(a);
b:=trunc(a/10);
case b of
9,10: writeln('A');
8: writeln('B');
7: writeln('C');
6: writeln('D');
5,4,3,2,1,0: writeln('E')
else
writeln('W');
end;
readln;
e