while j>0 do后面的意思是 把b【1~5】 从1~5 变为6~10 所以要25次 因为S本来是1 所以S为26 还有观察一下就知道for i:=j+i to 5 do b[i]:=b[j]+i-j 这段中i永远比5大 所以不会执行 望采纳 (仅限你现在的程序 就如楼上所说 这一段 问题很多 你打错了 不少吧 少打了分号 i:=j+i 这里 也应该有问题 还有是 writeln 不是writein) 额。。就5个数据,当然就是人工模拟啦,实在不行,你把每一句的作用写出来,如b[i]:=b[j]+i-j即在j之后到5的每一个数加上这个数的标号与当前处理的数的距离,慢慢模拟吧,关键是细心。
还有 for i:=j+i to 5 do b[i]:=b[j]+i-j 这个怎么看都是 for i:=j+1 to 5 do b[i]:=b[j]+i-j把,是题目错了还是你打错了?
额。。就5个数据,当然就是人工模拟啦,实在不行,你把每一句的作用写出来,如b[i]:=b[j]+i-j即在j之后到5的每一个数加上这个数的标号与当前处理的数的距离,慢慢模拟吧,关键是细心。
还有 for i:=j+i to 5 do b[i]:=b[j]+i-j 这个怎么看都是 for i:=j+1 to 5 do b[i]:=b[j]+i-j把,是题目错了还是你打错了?
while j>0 do后面的意思是 把b【1~5】 从1~5 变为6~10 所以要25次 因为S本来是1 所以S为26 还有观察一下就知道for i:=j+i to 5 do b[i]:=b[j]+i-j 这段中i永远比5大 所以不会执行 望采纳 (仅限你现在的程序 就如楼上所说 这一段 问题很多 你打错了 不少吧 少打了分号 i:=j+i 这里 也应该有问题 还有是 writeln 不是writein)