pascal 高精度运算加减法,数前面可加“+”或“-”哪位高人看看我的程序...

发布网友 发布时间:2024-10-22 19:45

我来回答

3个回答

热心网友 时间:2025-01-18 09:52

题目里说的是可以加+,-而不是一定要加
所以当输入没有带正号的时候就不执行任何一个if()中的语句。
修改:
读完st1,st2之后加上
if not (st1[1] in ['+','-']) then st1:='+'+st1;
if not (st2[1] in ['+','-']) then st2:='+'+st2;
还有,你的minus过程有错误 :
如果是算9-900,你的结果是-999,而正确结果是-1
if c[l+1]<0 then write('-');这一句:说明你算的是[1st1]-[st2] ([1st1]表示字符串前加上1)
所以你应该修改:
if c[l+1]>0 then begin
write('-');
minus(st2,st1);
exit;
end;

热心网友 时间:2025-01-18 09:57

飘过。

热心网友 时间:2025-01-18 09:51

运行时有一个框,看上面,蓝色的数字,十几,就再按下空格,它会显示哪里错了,自己改吧!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com