pascal程序运行 5
程序:programhhh;vara:array[1..10]ofinteger;i,j:integer;beginfori:=1to10dobegina[i]:=a[i...
程序:
program hhh;
var
a:array [1..10] of integer;
i,j:integer;
begin
for i:=1 to 10 do
begin
a[i]:=a[i]+i;
foe j:=1 to i do
a[j]:=a[j]+j;
end;
for i:=1 to 10 do
write(a[i],' ');
end.
输出:
11 20 27 32 35 36 35 32 27 20
为什么输出的结果是这样?求详细讲解,谢谢! 展开
program hhh;
var
a:array [1..10] of integer;
i,j:integer;
begin
for i:=1 to 10 do
begin
a[i]:=a[i]+i;
foe j:=1 to i do
a[j]:=a[j]+j;
end;
for i:=1 to 10 do
write(a[i],' ');
end.
输出:
11 20 27 32 35 36 35 32 27 20
为什么输出的结果是这样?求详细讲解,谢谢! 展开
1个回答
展开全部
program hhh;
var
a:array [1..10] of integer;
i,j:integer;
begin
for i:=1 to 10 do //循环10轮
begin
a[i]:=a[i]+i; //第i个元素加1次i(循环的原因)
for j:=1 to i do
a[j]:=a[j]+j; //第j个元素加(11-i)j(前面的元素加的次数多)
end;
for i:=1 to 10 do
write(a[i],' ');
end.
总的结果:
a[1]=11*1
a[2]=10*2
a[3]=9*3
a[4]=8*4
…………
a[9]=3*9
a[10]=10*2
var
a:array [1..10] of integer;
i,j:integer;
begin
for i:=1 to 10 do //循环10轮
begin
a[i]:=a[i]+i; //第i个元素加1次i(循环的原因)
for j:=1 to i do
a[j]:=a[j]+j; //第j个元素加(11-i)j(前面的元素加的次数多)
end;
for i:=1 to 10 do
write(a[i],' ');
end.
总的结果:
a[1]=11*1
a[2]=10*2
a[3]=9*3
a[4]=8*4
…………
a[9]=3*9
a[10]=10*2
更多追问追答
追问
问一下j是做什么的?可以把a[1]到a[10]的运算全部展开吗?
追答
j是内部循环的控制变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询