永发信息网

我想用pascal编出一个比较100以内的数的出题程序,但是不知道为什么出问题了

答案:2  悬赏:30  手机版
解决时间 2021-11-11 04:33
  • 提问者网友:练爱
  • 2021-11-10 06:19
我想用pascal编出一个比较100以内的数的出题程序,但是不知道为什么出问题了
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-11-10 06:47
数字和字符读取时应特别小心!
=========================

var 
x1,y1,z1,num3,num4:integer;
ch1,ch2:'<'..'>';
bool:boolean;
begin 
num3:=0; 
num4:=0; 
bool:=true; 
randomize;         {###########}
while bool=true do begin 
x1:=random(100); 
y1:=random(100); 
write(x1,' __ ',y1); 
read(ch1); 
num3:=num3+1; 
if x1>y1 then ch2:='>'{ch2是正确答案} 
else if x1 else ch2:='='; 
if ch1=ch2 then begin writeln('√');  num4:=num4+1; end{then} 
else writeln('× ,答案:',ch2); 
write('正确率:',num4*100/num3:4:0,'%'); 
write('继续:0 退出:1 '); 
readln(z1);                    {#####这里进行了修改######}
if z1=1 then bool:=false; 
writeln; 
end;{while}
end.追问谢谢!还有一个问题,如果是用read的话读了什么?为什么就不行了呢?追答读了回车追问第一个read不用用readln是不是因为两个read语句中间有输出?
全部回答
  • 1楼网友:摆渡翁
  • 2021-11-10 08:21
program grade12(input,output);
var x1,y1,z1,num3,num4:integer;
ch1,ch2:'<'..'>';
bool:boolean;
begin num3:=0;
 num4:=0;
 bool:=true;
 while bool=true do
begin
 randomize;
 x1:=random(100);
 y1:=random(100);
 write(x1,' __ ',y1);
 readln(ch1);
 num3:=num3+1;
 if x1>y1 then ch2:='>'{ch2是正确答案} else if x1 if ch1=ch2 then begin writeln('√');
 num4:=num4+1;
 end{then} else writeln('× ,答案:',ch2);
 write('正确率:',num4*100/num3:4:0,'%');
 write('继续:0 退出:1 ');
 readln(z1);
 if z1=1 then bool:=false;
 writeln;
 end;
{while}end.

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯