回 帖 发 新 帖 刷新版面

主题:for 如何循环换成 do 循环

原题如下:
<<一千零一夜>>中有这样一段文字:有一群鸽子,其中一部分在树上欢歌,另一部分在地上觅食.树上的一只鸽子对地上觅食的鸽子说:"诺从你们中飞上来一只,则树下的鸽子就是整个鸽群的3分之一;诺从树上飞下去一只,则树上,树下的鸽子就一样多了."你知道树上,树下各有多少只鸽子吗?

我现在用程序代码来求,下面是我的代码:
Option Explicit
Private Sub Command1_Click()
Dim x As Integer
Dim y As Integer
Dim total As Integer
For x = 1 To 100
For y = 1 To 100
    If (x - 1) = (y + 1) And (x + y) / 3 = (y - 1) Then
    total = x + y
Print x, y, total
End If
    Next
Next x
end sub

那如果用DO循环应该怎么写呢,我试了好多次都不行,请各位高手出个招

回复列表 (共6个回复)

沙发

你的do是怎么写的
发出来,帮你改

板凳

Option Explicit
Private Sub Command1_Click()
Dim n%, x%, y1!, y2!
x = 1
Do While n = 0
y1 = (x + 1) / 2 + 1
y2 = x - 2
If y1 = y2 Then
n = 1
Print x, y1
Else
x = x + 1
End If
Loop
End Sub

3 楼

x=1
do while x<=100
    y=1
    do while y <=100
        if (x - 1) = (y + 1) And (x + y) / 3 = (y - 1) Then
             total=x+y
             print x,y,total
         end if 
         y=y+1
     loop
   x=x+1
loop

4 楼

[quote]x=1
do while x<=100
    y=1
    do while y <=100
        if (x - 1) = (y + 1) And (x + y) / 3 = (y - 1) Then
             total=x+y
             print x,y,total
         end if 
         y=y+1
     loop
   x=x+1
loop[/quote]

你这是手写的吧
感觉根本没用编译器

5 楼

[quote][quote]x=1
do while x<=100
    y=1
    do while y <=100
        if (x - 1) = (y + 1) And (x + y) / 3 = (y - 1) Then
             total=x+y
             print x,y,total
         end if 
         y=y+1
     loop
   x=x+1
loop[/quote]

你这是手写的吧
感觉根本没用编译器[/quote]
嗯,没用,就在回贴那里写的

6 楼

都很好,呵呵,谢谢大家

我来回复

您尚未登录,请登录后再回复。点此登录或注册