【发布时间】:2019-07-24 06:56:13
【问题描述】:
我正在尝试编写一个将自然数从 1 加到 n (1 + 2 + 3 + ... + n) 的程序。但是,当我使用 if 语句时,总和显示为 1。而当我使用for-next 语句时,会出现我不理解的语法错误。
if:
30 let s = 0
40 let i = 1
50 s = s + i
60 i = i + 1
70 if i<=n, then goto 50
80 print s
for-next:
30 let i, s
40 s = 0
50 for i = 1 to n
60 s = s + i
70 next i
80 print n
- 当我取 n = 10 时,
if语句代码给出的结果为 1,但它应该是 55。 - 当我尝试使用
for-next语句时,它没有给出30 中存在语法错误的结果。
为什么会这样?
【问题讨论】:
-
((1 + n) * n)/2 ... 是直接计算总和的公式!!! ....:D
标签: for-loop if-statement gw-basic