编程高手请进来看看……(turbo pascal语言问题)

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:44:30
老师布置的作业:求s=1*2*3*4*5*6*7*8*9*10,我编了一个不知道对不对,大家看看.
program a1;
var
s,i,x:integer;
begin
i:=1;
x:=0;
s:=0;
while i<=10 do
begin
i:=i+1;
x:=x+1;
s:=i*x+s;
end;
write('s=',s);
end.

百分之百错了。应该是
program a1;
var a,b:longint;
begin
a:=1;
for b:=1 to 10 do
a:=a*b;
writeln('a=',a);
end.

你这程序是错的,一看结果440就知道了.
s,i,x:integer;//阶乘的结果都很大,怎么能用整型
...
while i<=10 do
begin
i:=i+1;
x:=x+1; //很不明白你的x是做什么的
s:=i*x+s; //为什么是+
end;

用最简单的方法就可以了:
var s,i:longint;

begin
s:=1;
for i:=2 to 10 do s:=s*i;
write('s=',s);
end.