你去掉一组readln(b);if b<>a then writeln('b');
就好了。
你顺着你的程序走一遍。读一行执行一行。
循环体是两组readln(b);if b<>a then writeln('b');
就是说,执行两边以后,才能读到until语句。
这种情况最好使用while语句,改成:
var a,b:integer;
begin
a:=50;readln(b);
while not(b=a) do
begin
if b<>a then
writeln('b');
readln(b);
if b<>a then writeln('b');
end;
end.
……
因为
readln(b);
if b<>a then writeln('b');
readln(b);
if b<>a then writeln('b');
这里,同样的两句话重复了两遍。
解决办法:只留下一遍
是不是pascal的问题?重启一下pascal再试试