Gol*_*kes 3 for-loop if-statement gw-basic
我正在尝试编写一个程序,用于将 1 到 n 的自然数相加(1 + 2 + 3 + ... + n)。但是,当我使用语句时,总和显示为1 if。当我使用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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
if语句代码给出的结果是 1,但它应该是 55。for-next语句时,它没有给出任何结果,表明 30 中有语法错误。为什么会发生这种情况?
以下代码在此在线 Basic 解释器中运行。
10 let n = 100
30 let s = 0
40 let i = 1
50 s = s + i
60 i = i + 1
70 if i <= n then goto 50 endif
80 print s
Run Code Online (Sandbox Code Playgroud)
我n在标记为 10 的行上进行了初始化,删除了标记为 70 的行上的逗号,并endif在同一行上添加了 。
这是for-next版本:
30 let n = 100
40 let s = 0
50 for i = 1 to n
60 s = s + i
70 next i
80 print s
Run Code Online (Sandbox Code Playgroud)
n(顺便说一句,第一个自然数的总和是n(n+1)/2:
10 let n = 100
20 let s = n * (n + 1) / 2
30 print s
Run Code Online (Sandbox Code Playgroud)
)