根据程序写出运算结果

hakji 2009-10-01 11:46:15
s=0
i=1
do while i<=100
if i mod 10<> 0 then
s=s+i
i=i+1
else
i=i+1
end if
loop
print s


机器运算结果为什么是4500的?我自己口算是450的啊?谁可以帮我解释一个整段程序的详细意思啊?我是初学者啊,不懂得太多了!
...全文
98 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaboyzyq 2009-10-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 golden8510 的回复:]

那些綠色字體不是你一個一個打的吧,怎么得到的;
[/Quote]
晕菜,你不会把它的程序复制到你的VB中运行一下看看,记住打开立即窗口。
golden8510 2009-10-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 syssz 的回复:]
VB codePrivateSub Form_Load()
s=0
i=1DoWhile i<=100If iMod10<>0Then
s= s+ i
i= i+1Else
i= i+1EndIf
Debug.Print"i="& i
Debug.Print"s="& sLoop'Debug.Print "s=" & sEnd Sub'输出
'i = 3
's = 3
'i = 4
's = 6
'i = 5
's = 10
'i = 6
's = 15
'i = 7
's = 21
'i = 8
's = 28
'i = 9
's = 36
'i = 10
's = 45
'i = 11
's = 45
'i = 12
's = 56
'i = 13
's = 68
'i = 14
's = 81
'i = 15
's = 95
'i = 16
's = 110
'i = 17
's = 126
'i = 18
's = 143
'i = 19
's = 161
'i = 20
's = 180
'i = 21
's = 180
'i = 22
's = 201
'i = 23
's = 223
'i = 24
's = 246
'i = 25
's = 270
'i = 26
's = 295
'i = 27
's = 321
'i = 28
's = 348
'i = 29
's = 376
'i = 30
's = 405
'i = 31
's = 405
'i = 32
's = 436
'i = 33
's = 468
'i = 34
's = 501
'i = 35
's = 535
'i = 36
's = 570
'i = 37
's = 606
'i = 38
's = 643
'i = 39
's = 681
'i = 40
's = 720
'i = 41
's = 720
'i = 42
's = 761
'i = 43
's = 803
'i = 44
's = 846
'i = 45
's = 890
'i = 46
's = 935
'i = 47
's = 981
'i = 48
's = 1028
'i = 49
's = 1076
'i = 50
's = 1125
'i = 51
's = 1125
'i = 52
's = 1176
'i = 53
's = 1228
'i = 54
's = 1281
'i = 55
's = 1335
'i = 56
's = 1390
'i = 57
's = 1446
'i = 58
's = 1503
'i = 59
's = 1561
'i = 60
's = 1620
'i = 61
's = 1620
'i = 62
's = 1681
'i = 63
's = 1743
'i = 64
's = 1806
'i = 65
's = 1870
'i = 66
's = 1935
'i = 67
's = 2001
'i = 68
's = 2068
'i = 69
's = 2136
'i = 70
's = 2205
'i = 71
's = 2205
'i = 72
's = 2276
'i = 73
's = 2348
'i = 74
's = 2421
'i = 75
's = 2495
'i = 76
's = 2570
'i = 77
's = 2646
'i = 78
's = 2723
'i = 79
's = 2801
'i = 80
's = 2880
'i = 81
's = 2880
'i = 82
's = 2961
'i = 83
's = 3043
'i = 84
's = 3126
'i = 85
's = 3210
'i = 86
's = 3295
'i = 87
's = 3381
'i = 88
's = 3468
'i = 89
's = 3556
'i = 90
's = 3645
'i = 91
's = 3645
'i = 92
's = 3736
'i = 93
's = 3828
'i = 94
's = 3921
'i = 95
's = 4015
'i = 96
's = 4110
'i = 97
's = 4206
'i = 98
's = 4303
'i = 99
's = 4401
'i = 100
's = 4500
'i = 101
's = 4500
'

[/Quote]
那些綠色字體不是你一個一個打的吧,怎么得到的;
chinaboyzyq 2009-10-03
  • 打赏
  • 举报
回复
1+2+3+...+100=5050

i mod 10 = 0(即与10相除为0的不加上)的有:
10+20+30+...+100=550

5050-550=4500

不知道你的450是怎么算来的?!
  • 打赏
  • 举报
回复
((1+100)*100/2)-((10+100)*100/10/2)=4500
lsftest 2009-10-02
  • 打赏
  • 举报
回复
在编程环境里按f8键进行单步调试,接着一下一下按F8,看着代码是怎么走的,同时可以把鼠标移到高亮的当前语句,就可以看到各个变量如i、s的即时值。看看程序的走向跟你的预期有什么不同,基本可解决问题。
Flyingdragon168 2009-10-02
  • 打赏
  • 举报
回复
机器的结果是对的。
1到100的和,其中去就10的倍数。
SYSSZ 2009-10-02
  • 打赏
  • 举报
回复
Private Sub Form_Load()
s = 0
i = 1
Do While i <= 100
If i Mod 10 <> 0 Then
s = s + i
i = i + 1
Else
i = i + 1
End If
Debug.Print "i=" & i
Debug.Print "s=" & s
Loop
'Debug.Print "s=" & s
End Sub
'输出
'i = 3
's = 3
'i = 4
's = 6
'i = 5
's = 10
'i = 6
's = 15
'i = 7
's = 21
'i = 8
's = 28
'i = 9
's = 36
'i = 10
's = 45
'i = 11
's = 45
'i = 12
's = 56
'i = 13
's = 68
'i = 14
's = 81
'i = 15
's = 95
'i = 16
's = 110
'i = 17
's = 126
'i = 18
's = 143
'i = 19
's = 161
'i = 20
's = 180
'i = 21
's = 180
'i = 22
's = 201
'i = 23
's = 223
'i = 24
's = 246
'i = 25
's = 270
'i = 26
's = 295
'i = 27
's = 321
'i = 28
's = 348
'i = 29
's = 376
'i = 30
's = 405
'i = 31
's = 405
'i = 32
's = 436
'i = 33
's = 468
'i = 34
's = 501
'i = 35
's = 535
'i = 36
's = 570
'i = 37
's = 606
'i = 38
's = 643
'i = 39
's = 681
'i = 40
's = 720
'i = 41
's = 720
'i = 42
's = 761
'i = 43
's = 803
'i = 44
's = 846
'i = 45
's = 890
'i = 46
's = 935
'i = 47
's = 981
'i = 48
's = 1028
'i = 49
's = 1076
'i = 50
's = 1125
'i = 51
's = 1125
'i = 52
's = 1176
'i = 53
's = 1228
'i = 54
's = 1281
'i = 55
's = 1335
'i = 56
's = 1390
'i = 57
's = 1446
'i = 58
's = 1503
'i = 59
's = 1561
'i = 60
's = 1620
'i = 61
's = 1620
'i = 62
's = 1681
'i = 63
's = 1743
'i = 64
's = 1806
'i = 65
's = 1870
'i = 66
's = 1935
'i = 67
's = 2001
'i = 68
's = 2068
'i = 69
's = 2136
'i = 70
's = 2205
'i = 71
's = 2205
'i = 72
's = 2276
'i = 73
's = 2348
'i = 74
's = 2421
'i = 75
's = 2495
'i = 76
's = 2570
'i = 77
's = 2646
'i = 78
's = 2723
'i = 79
's = 2801
'i = 80
's = 2880
'i = 81
's = 2880
'i = 82
's = 2961
'i = 83
's = 3043
'i = 84
's = 3126
'i = 85
's = 3210
'i = 86
's = 3295
'i = 87
's = 3381
'i = 88
's = 3468
'i = 89
's = 3556
'i = 90
's = 3645
'i = 91
's = 3645
'i = 92
's = 3736
'i = 93
's = 3828
'i = 94
's = 3921
'i = 95
's = 4015
'i = 96
's = 4110
'i = 97
's = 4206
'i = 98
's = 4303
'i = 99
's = 4401
'i = 100
's = 4500
'i = 101
's = 4500
'

波导终结者 2009-10-01
  • 打赏
  • 举报
回复
输出100以内不能被10整除的所有数的和,也就是
1到100的和-(10+20+30+40+50+60+70+80+90+100)
huyongsc 2009-10-01
  • 打赏
  • 举报
回复
1到100的总和减去10、20、30、40、50、60、70、80、90、100是多少?不知你是如何口算的
clear_zero 2009-10-01
  • 打赏
  • 举报
回复
你设置一个断点,一点点F8debug下来就知道了

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧