当前位置:编程学习 > VB >>

VB 编程问题求高手

1.VB 输出3到100之间的奇数 还有这些奇数之和

2."水仙花数" 是指一个三位数.其各位数的立方和等于该数,如153 = 1的3次方+5的3次方+3的3次方,编写程序,打出所有水仙花数

3.求1000 到 1100之间的所有质数并输出

追问:谢谢

答案:第一题:

窗体上无需任何控件,运行后在窗体上单击即可,代码如下:

Private Sub Form_click()
Me.AutoRedraw = True
Me.Cls
Dim sum As Integer
sum = 0
Print "3-100之间的奇数如下:"
Print
For i = 3 To 100 Step 2
Print i;
k = k + 1
sum = sum + i
If k Mod 10 = 0 Then Print
Next i
Print: Print
Print "3-100之间的奇数之和为:" & sum
End Sub

第二题:窗体无任何控件,运行后在窗体单击即可,代码如下:

Private Sub Form_click()
Me.Cls
Me.AutoRedraw = True
Dim k As Long, k1 As Long, sum As Long, i As Long

    k = InputBox("请问要输出几位数的水仙花数?" & vbCrLf & vbCrLf & "提示:水仙花数位数必须大于等于3位数" & vbCrLf & vbCrLf & "位数太大的话,计算可能比较慢,请耐心等待!", "", 3)
    If k < 3 Then MsgBox "水仙花数的位数必须大于等于三位数"
    k1 = k
    Print " " & k & "位数的水仙花数如下:"
    Print
    For i = 10 ^ (k - 1) To 10 ^ k - 1
        Do
            sum = sum + (i \ 10 ^ (k - 1) Mod 10) ^ k1
            k = k - 1
        Loop Until k = 0
        If sum = i Then Print i;
        sum = 0
        k = k1
    Next
End Sub

第三题:窗体无任何控件,运行后在窗体单击,代码如下:

Private Sub Form_click()
Me.AutoRedraw = True
Me.Cls
Dim bz As Boolean
Print "1000-1100之间的所有素数如下:"
For i = 1000 To 1100
 For k = 2 To Int(Sqr(i))
 If i Mod k <> 0 Then
 bz = True
 Else
 bz = False
 Exit For
 End If
 Next k
 
 If bz = True Then
   If w Mod 4 = 0 Then Print
   Print i;
   w = w + 1
 End If
 Next i
End Sub

1、 dim i as integer,sum as integer
sum=0
for i=3 to 100
if i mod 2 =1 then
print i;
sum=sum+i
end if
next i
print
print sum

2、dim i as integer,s as string,dim a as integer,b as integer,c as integer,dim sum as integer
for i=100 to 999
s=cstr(i)
a= int(left(s,1)): b=int(mid(s,2,1)):c=ing(right(s,1))
sum=a*a*a+b*b*b+c*c*c
if sum=i then print i
next i

3、这个,我记得书有如何判断一个数是质数的代码,你只要简单的修改一下循环的起止范围,并加上一个输出语句就可以了,恕我不去找了,网上也应该有。
dim i as integer,sum as integer
       sum=0
       for i=3 to 100
            if i mod 2 =1  then
                 print i;
                 sum=sum+i
            end if
       next i
       print
       print sum

2、dim i as integer,s as string,dim a as integer,b as integer,c as integer,dim sum as integer
      for i=100 to 999
           s=cstr(i)
           a= int(left(s,1)): b=int(mid(s,2,1)):c=ing(right(s,1))
           sum=a*a*a+b*b*b+c*c*c
           if sum=i then print i
      next i

上一个:高中VB编程怎样学的快
下一个:关于VB编程的语句

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,