posts - 70,comments - 80,trackbacks - 0

十一、       某班 30 个人,在开新年联欢会时,全班按学号从 1 排到 30 ,围成一个圆圈。大家商定从 1 号开始报数,报到 5 ,出来演个节目,演过节目的同学,不再参加报数。然后接着报数。试编程输出最后演节目的同学的学号。
答:o_t11.jpg
源程序:
Private Sub Command1_Click()
Dim i As Integer, a(1 To 30) As Integer, js As Integer
Dim idx As Integer, s As String, sum As Integer
Text1 = ""
For i = 1 To 30
    a(i) = 1
Next i
js = 0
idx = 0
Do While js < 30
    sum = 0
    Do While sum < 5
        idx = idx + 1
        If idx > 30 Then idx = idx Mod 30
        sum = sum + a(idx)
    Loop
    a(idx) = 0
    If Len(CStr(idx)) = 1 Then s = s & " "
    s = s & Str(idx) & "  "
    js = js + 1
    If js Mod 10 = 0 Then s = s & vbCrLf
Loop
Text1 = s & vbCrLf & "最后演节目的同学的学号为:" & idx & "号"
End Sub

Private Sub Command2_Click()
End
End Sub

十二、
      
求守形数:
 
某数的平方其底位与该数本身相同,则称该数为守形数。
 
2 —— 1000 中的守形数。
 
例如: 25*25=625 625 的底位 25 相同,称 25 为守形数。
答:o_t12.JPG
源程序:
Private Sub Command1_Click()
Dim i As Integer, s As Long
Dim j As Integer, k As Integer
For i = 2 To 1000
    s = CLng(i) * i
    j = Len(CStr(i))
    k = Int(Right(CStr(s), j))
    If k = i Then Text1.Text = Text1.Text & i & "  "
Next i
End Sub

Private Sub Command2_Click()
End
End Sub

posted on 2006-09-29 15:07 木子李 阅读(306) 评论(0)  编辑 收藏 引用 网摘 所属分类: Visual Basic 课堂

只有注册用户登录后才能发表评论。