一个vb编程问题(希望写出详细过程,谢谢)

1.随机产生一个三位正整数,然后逆序输出,产生的随机数与逆序数同时显示。例如,产生735,输出是537
2.输入半径,计算圆面积和圆周长。为保证程序运行的正确,对输入的半径要进行合法性检查,数据检查调用isnumeric函数;若有错,利用msgbox显示出错信息。通过setfocus方法定位于出错的文本框处,重新输入;计算结果保留两位小数。

第1个回答  推荐于2016-03-08
1,
randomize'初始化随机种子
a=cint(rnd*900)+100
Print a
Print " " & CInt(a Mod 10) & CInt(CInt(a \ 10) Mod 10) & CInt(a \ 100)'在窗口处打印出这个三位数.当然你也可以用msgbox或text或label等输出这个数,逆序输出前加了个空格,是为了美观.

2,
if isnumeric(text1.text)=false then'假设文本框名字为text1
msgbox "输入的半径不是数字,请输入数字"
text1.setfocus
else
msgbox "面积是:" & format((text1.text)^2 * 3.1415926,"0.00") & chr(13) & "周长是:" & format((text1.text)*2*3.1415926,"0.00")
end if本回答被提问者采纳
第2个回答  2009-10-29
第一题——————————————

Private Sub Command1_Click()
Randomize'初始化

Dim b, c, a(3) As Integer

b = Int(Rnd * 900 + 100)'取100-999的随机数
For i = 1 To 3
a(i) = Mid(b, i, 1)'把b值的个位,十位,百位 分别赋给a(1),a(2),a(3)

Next i
c = a(1)
a(1) = a(3)'把数a(1),a(3)值交换一下
a(3) = c

Print "逆序为:" & a(1) & a(2) & a(3)'输入交换后的a(1),a(2),a(3)
Print "顺序为:" & b'输出原来的b值

End Sub

第二题。-------------------
Private Sub Command1_Click()

Dim a As Double

If IsNumeric(Text1.Text) = False Then '判断是否是数字
MsgBox "输入的半径不是数字"

Text1.Text = ""
Text1.SetFocus
Else

a = Text1.Text

MsgBox "面积是:" & Format(a ^ 2 * 3.1415926, "0.00") & Chr(13) & _
"周长是:" & Format(a * 2 * 3.1415926, "0.00")'用format语句指定输出格式
End If

End Sub
相似回答