VBS编程实例

上一篇 / 下一篇  2010-04-25 23:35:18 / 个人分类:VBScript

1) 试验Inputbox的第三个参数

Dim name,msg
msg="Plase input your name:"
name=Inputbox(msg,"name","lily")
Msgbox(name)
 

2) 写一段程序输出你的年龄


Dim MyAge,RmndrMsg
RmndrMsg = "Please input your age"
MyAge = InputBox (RmndrMsg,"Age","0")
MsgBox "Your Age is: "& MyAge,vbYesNo,"Your Age"
3) 写一段程序进行3次输入, 分别输入你和你父母的姓名(要求显示提示), 并分3次输出

Dim name,msg
msg = "Please input your name"
name = InputBox(msg,"Name","")
MsgBox(name)

msg = "Please input your father name"
name = InputBox(msg,"Name","")
MsgBox(name)

msg = "Please input your mother name"
name = InputBox(msg,"Name","")
MsgBox(name)


Dim msg(2)
msg(0) = "Please input your name"
msg(1) = "Please input your father name"
msg(2) = "Please input your mother name"
For i = 0 To UBound(msg)
name = InputBox(msg(i),"name","")
MsgBox(name)
Next

3) 编一个程序, 计算圆形的面积, 半径由用户给出 (使用Inputbox) PI取值3.14159

Dim r,s
Const PI = 3.14159
r = InputBox("Please input the radius","radius","0.0")
s = PI*r^2
MsgBox "The area is: " & s ,vbYesNo,"Circle Area"


4) 编一个程序取得20 / 3 的余数
Dim Getvalue
Getvalue = 20 Mod 3
WScript.Echo  Getvalue

 

5) 把5以内的正整数都转换成中国大些数字


Do
Call MyValue(InputValue())
Loop Until MyValue(InputValue()) <> vbRetry

Function InputValue()
Dim i
i = InputBox("请输入1到5的数字:")
InputValue = i

End Function  


Function MyValue(i)
Dim DefResp
Select Case i
Case 1
DefResp = MsgBox ("壹",vbRetryCancel,"中文大写")
If DefResp<>vbRetry  Then
Exit Function
End If

Case 2
DefResp = MsgBox ("贰",vbRetryCancel,"中文大写")
If DefResp<>vbRetry  Then
Exit Function
End If

Case 3
DefResp = MsgBox ("叁",vbRetryCancel,"中文大写")
If DefResp<>vbRetry  Then
Exit Function
End If

Case 4
DefResp = MsgBox ("肆",vbRetryCancel,"中文大写")
If DefResp<>vbRetry  Then
Exit Function
End If

Case 5
DefResp = MsgBox ("伍",vbRetryCancel,"中文大写")
If DefResp<>vbRetry  Then
Exit Function
End If

Case Else
MsgBox("输入错误,请重新输入!")
If DefResp<>vbRetry  Then
Exit Function
End If
End Select
MyValue = DefResp
End Function


Function ButtonValue(DefResp)
If DefResp<>vbRetry Then
Exit Function
Else
InputValue()
End If
End Function

6) 在我国的数学经典著作"九章算术"中有这样一道题:百钱买百鸡, 公鸡5钱一只, 母鸡3钱一只, 小鸡1钱2只(这个数据我是参考一本编程书的, 但我记得是公3,母1,小1钱3只? 不管了, 就按照书上得来吧)求得是能有多少种办法买这些鸡. 如果看不懂的话我用大白话说说:有人要去买鸡, 用100块钱正好买了100只鸡, 价格如下:公:5$, 母:3$, 小:1$ for 2, 让你求一共多少种卖法(公母小怎么搭配). 请用循环解决这个问题.


'设公鸡为x只,母鸡为y只,小鸡为z只
Dim x,y,z
Dim str
str = ""
count = 0
StartTime = Timer
For x = 0 To 20
For y = 0 To Int(100/3)
For z = 0 To 100
If 5*x + 3*y + 0.5*z = 100 And x + y + z = 100 Then
str = "公鸡"& x & "只"& VbCrLf & "母鸡"& y & "只" & VbCrLf & "小鸡"& z & "只" & VbCrLf
count = count + 1
wscript.echo str
End If
Next
Next
Next
EndTime = Timer
WScript.Echo "总共消耗时间" & EndTime - StartTime & "秒"
wscript.echo "共有"& count&"种买法"

 

7) 定义一个数组, 包含5个元素, 都是随机整数(随便输入), 要求把他们按照从大到小的顺序排列起来

Dim i,j,t
Dim Array(4)
Dim MySequence(4)

'手动输入数值,压入数组
For i=0 To 4
Array(i)=InputBox("请输入第"&i+1&"数据")'数据是整数
Next


For i=0 To 4 '四次比较
For j=i To 4 '五个数值
If Array(i)<Array(j) Then
' 如果第一个值小于第二个值,引入变量t,第一第二两个值进行互换,较大值放在首位
' 继续将放在首位的较大值与第三个值比较,一次类推。。内层循环结束,最大值已经处在首位子
t=Array(i)    
Array(i)=Array(j)
Array(j)=t
End If
Next
MySequence(i)=Array(i)

Next
WScript.Echo MySequence(0) &VbCrLf _
            &MySequence(1) &VbCrLf _
            &MySequence(2) &VbCrLf _
            &MySequence(3) &VbCrLf _
            &MySequence(4) &VbCrLf _

 

8) 有两个二维数组a(4,4)和b(4,4) (元素值随便), 交换两个数组(原来的a的所有元素值变成b的, b的所有元素值变成a的),因为4行4列的二维数组输出比较麻烦,现以二行二列的数组为例
Dim MyArray1(2,2)
Dim MyArray2(2,2)
Dim z
For i=0 To 1
For j=0 To 1
MyArray1(i,j)=InputBox("请输入第("&i&","&j&")个整数")'手动输入数据,压入二维数值
Randomize
MyArray2(i,j)=CInt(Rnd*1000+1)'生成随机二维数组
Next
Next
WScript.Echo MyArray1(0,0)&"**"&MyArray1(0,1)&"**"&MyArray1(1,0)&"**"&MyArray1(1,1)
WScript.Echo MyArray2(0,0)&"**"&MyArray2(0,1)&"**"&MyArray2(1,0)&"**"&MyArray2(1,1)

For x=0 To 1
For y=0 To 1

z=MyArray1(x,y)
MyArray1(x,y)=MyArray2(x,y)
MyArray2(x,y)=z
Next
Next
WScript.Echo MyArray1(0,0)&"**"&MyArray1(0,1)&"**"&MyArray1(1,0)&"**"&MyArray1(1,1)
WScript.Echo MyArray2(0,0)&"**"&MyArray2(0,1)&"**"&MyArray2(1,0)&"**"&MyArray2(1,1)


TAG:

 

评分:0

我来说两句

Open Toolbar