如何在 Pascal 中写出数字的倒数?
how to write reciprocal value of a number in pascal?
我在使用 Pascal 程序时遇到一些问题。
我需要输入一个数字,然后我需要程序编写该数字的倒数相加。它应该是这样的:假设数字是 5 (n=5) 然后我需要我的程序写 1/1 + 1/2 + 1/3 + 1/4 + 1/5
和这个加法的结果,我需要使用 for,to,do
才能得到一个解决方案,所以如果有人可以帮助我,我将非常感激。
我试过这样的事情:
program reciprocaladdition;
var x : integer:
begin
writeln('enter number');
readln(x);
for x:=1 to x do writeln(1/x:0:2)
readln
end.
但它没有给我我需要的东西,所以如果有人能帮助我,我将不胜感激。
你有几个错别字:
integer
后面的冒号应该是分号;和
writeln 后面需要一个分号,因为后面还有一个语句 (readln)。
除此之外,它在 Lazarus + FPC 中编译和运行良好。在下面的更正版本中,我添加了代码来计算和显示中间值的总和。
program reciprocals;
var
x : integer;
Sum : Double; // a floating-point datatype
begin
writeln('enter number');
readln(x);
Sum := 0;
for x:=1 to x do begin
writeln(1/x:0:2);
Sum := Sum + 1/x;
end;
writeln('Sum: ', Sum:0:2);
readln
end.
这会产生输出
enter number
3
1.00
0.50
0.33
Sum: 1.83
这是否符合您的要求?如果不是,请说明原因。
我在使用 Pascal 程序时遇到一些问题。
我需要输入一个数字,然后我需要程序编写该数字的倒数相加。它应该是这样的:假设数字是 5 (n=5) 然后我需要我的程序写 1/1 + 1/2 + 1/3 + 1/4 + 1/5
和这个加法的结果,我需要使用 for,to,do
才能得到一个解决方案,所以如果有人可以帮助我,我将非常感激。
我试过这样的事情:
program reciprocaladdition;
var x : integer:
begin
writeln('enter number');
readln(x);
for x:=1 to x do writeln(1/x:0:2)
readln
end.
但它没有给我我需要的东西,所以如果有人能帮助我,我将不胜感激。
你有几个错别字:
integer
后面的冒号应该是分号;和
writeln 后面需要一个分号,因为后面还有一个语句 (readln)。
除此之外,它在 Lazarus + FPC 中编译和运行良好。在下面的更正版本中,我添加了代码来计算和显示中间值的总和。
program reciprocals;
var
x : integer;
Sum : Double; // a floating-point datatype
begin
writeln('enter number');
readln(x);
Sum := 0;
for x:=1 to x do begin
writeln(1/x:0:2);
Sum := Sum + 1/x;
end;
writeln('Sum: ', Sum:0:2);
readln
end.
这会产生输出
enter number
3
1.00
0.50
0.33
Sum: 1.83
这是否符合您的要求?如果不是,请说明原因。