主题:循环的错误?
Program Lx417;
Var
n, i: Integer;
Ch: Char;
Begin
Read(ch);
n := 0;
While ch<>';' Do Begin
If ch='(' Then n:=n+1;
If ch=')' Then n:=n-1;
If n<0 Then Writeln('Wrong');
Read(ch);
End;
If n=0 Then Writeln('Right');
If n>0 Then
For i:=1 To n Do Write('(':5);
End.
这是一个判断括号是否配对的程序,不过如果第一次就输入一个右括号的话,那么会出现三个WRONG,请问这是怎么回事?哪里出错了?望能明示,谢谢。
Var
n, i: Integer;
Ch: Char;
Begin
Read(ch);
n := 0;
While ch<>';' Do Begin
If ch='(' Then n:=n+1;
If ch=')' Then n:=n-1;
If n<0 Then Writeln('Wrong');
Read(ch);
End;
If n=0 Then Writeln('Right');
If n>0 Then
For i:=1 To n Do Write('(':5);
End.
这是一个判断括号是否配对的程序,不过如果第一次就输入一个右括号的话,那么会出现三个WRONG,请问这是怎么回事?哪里出错了?望能明示,谢谢。