【发布时间】:2020-11-26 10:53:14
【问题描述】:
给定a、b 和c,计算:2^a + 2^b + 2^c。
program power;
var a,b,c, r1,r2,r3 :integer;
procedure power2(pwr :integer; var result :integer);
var i :integer;
begin
i := 1;
result := 1;
while pwr <= i do
begin
result := result * 2;
i := i + 1;
end;
end;
begin {main}
write('a: ');
readln(a);
write('b: ');
readln(b);
write('c: ');
readln(c);
power2(a, r1);
power2(b, r2);
power2(c, r3);
writeln('power: ', r1 + r2 + r3);
end.
为什么程序无法执行while 循环?
程序打印3 而不是r1、r2、r3 的总和,与输入 (a,b,c) 无关。我该如何解决这个问题?
【问题讨论】:
标签: while-loop procedure pascal