Turbo Pascal编程报错求助:需':'却出现';'及操作数类型不匹配
Turbo Pascal程序错误修正与解释
你的代码存在两个导致编译错误的问题:
- 变量声明语法错误:
var区块里nbr1后面用了分号;,Pascal规定同一类型变量之间必须用逗号,分隔。 - 未声明变量:代码中使用的
tot没有在var段声明,编译器无法识别该变量。
修正后的完整代码:
Program parity; var nbr1, nbr2, tot, remainder: integer; begin read(nbr1, nbr2); tot := nbr1 + nbr2; remainder := tot mod 2; if remainder = 0 then write('winner is A') else write('winner is B'); end.
补充说明:
修正后程序会读取两个玩家伸出的手指数,计算总数后判断奇偶性,按照游戏规则输出获胜者。如果需要避免非法输入,可以添加输入合法性判断(限制输入0-5之间的整数),示例如下:
Program parity; var nbr1, nbr2, tot, remainder: integer; begin write('Enter player A''s fingers (0-5): '); read(nbr1); write('Enter player B''s fingers (0-5): '); read(nbr2); // 输入合法性检查 if (nbr1 < 0) or (nbr1 > 5) or (nbr2 < 0) or (nbr2 > 5) then begin write('Invalid input! Please enter numbers between 0 and 5.'); exit; end; tot := nbr1 + nbr2; remainder := tot mod 2; if remainder = 0 then write('winner is A') else write('winner is B'); end.
内容的提问来源于stack exchange,提问作者Malak El Meziani
相关产品推荐
相关产品推荐

