vb程序设计经典例题,vb编程题目及答案解析
大家好,感谢邀请,今天来为大家分享一下vb程序设计经典例题的问题,以及和vb编程题目及答案解析的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
vb经典程序100例(vb经典程序例题及分析)
vb程序设计实例100试题一.1
PrivateSubForm_Click()
Printfs_sum(100)
EndSub
Functionfs_sum(ByValnAsInteger)AsSingle
Dims!,nc!'唤盯锋和与倒数
s=0
Fori=1Ton
nc=1/i
s=s+nc
Nexti
fs_sum=s
EndFunction
试题一.2
PrivateSubForm_Click()
Fori=1To4
PrintSpace(4-i);
Forj=1Toi
Print"则枣*";
Nextj
Nexti
EndSub
待续和晌,未完...
一般用vb编写什么程序?具体举几个简单的例子vb可以写的程序很多,比如我学的就是用于测绘方面的
对于初学者来说,简单的啊需要了解vb的三要素“对象”“事培滑毕件”“方法”
比如单机窗体加载一张图片作为背景:
privatesubform1_()load
form1.picture=loadpicture(""),""号内为需要加载的图片的路径后面在加上\图片名.格式。就可以了
endsub
再如单机命令按配芹钮,窗体出现文字:
privatesubcommand_()click
print"你好"'因号内为你让羡要窗体显示的文字
endsub
跪求用VB编写程序计算1~100之间的奇数和、偶数和。要源码。语句自己找给思路。
第一种:暴力运算
1.申请2个变量jsum,osum分别放奇数和、偶数和。赋初值0。
2.做个循环从1到100,变量用i
2.1判断i是否为奇数,是的话jsum=jsum+i,否则osum=osum+i
3.输出陆猛jsum,osum
第二侍历种:推算法。
由题意有
奇数和=1+3+5+。。。+99=50×(1+99)/2
偶数和=2+4+6+。。。+100=50×(2+100)/早谈桥2
直接输出50×(1+99)/2,50×(2+100)/2两值
如果是求1~n之间的奇数和、偶数和。n2
则
判断n是否为奇数,如果是则
奇数和=((n+1)/2)*(1+n)/2
偶数和=((n+1)/2-1)*(2+n-1)/2
不是则
奇数和=(n/2)*(1+n-1)/2
偶数和=(n/2)*(2+n)/2
大一VB使用循环结构编写程序,求2+4+6+8+到100这个用循环语句计算比较方便,例如dowhile语句,doloop语句隐轮,fornext语句都可以
fornext语句举例:
PrivateSubCommand1_Click()
Dimi%,iSum
Fori=0To4Step2
iSum=i+iSum
Debug.Printi
Debug.Print
Next
Debug.PrintiSum
EndSub
更多帮档渣助请登录加技术QQ即可灶蠢信
vb例子1..
DimWords,Chars,MyString
ForWords=10To1Step-1'建立10次循环。
ForChars=0To9'建立10次循环。
MyString=MyStringChars'将数字添加到字符串中。
NextChars'Incrementcounter
MyString=MyString""'添加一个空格。
NextWords
2.
Do...Loop语句示例
本示例示范如何使用Do...Loop语句。内层的Do...Loop语句循环到第10次时将标志值设置为False,并用ExitDo语句强制退出内层循环。外层循环则在检查到标志值为False时,马上退出。
DimCheck,Counter
Check=True:Counter=0'设置变量初始值。
Do'外层循环。
DoWhileCounter20'内层循环。
Counter=Counter+1'计数器加一。
IfCounter=10Then'如果条件成立。
Check=False'将标志值设成False。
ExitDo'退出内层循环。
EndIf
Loop
LoopUntilCheck=False'退出外层循扮枣环。
3.
While...Wend语句示例
本示例使用While...Wend语句来增加计数变量的值。如果条件判断值为True,则循环内的语句将一直执行下去。
DimCounter
Counter=0'设置变量初值。
WhileCounter20'测试计数器的值。告缺局
Counter=Counter+1'将计数器的值加一。
Wend'当Counter19时则循环终止。
Debug.PrintCounter'在“立即”窗口中显示数字20。
SelectCase语句示例
本示例使用SelectCase语句来判断变量的值。示例中第二个Case子句包含了变量值,故只有此区块内的语句会被完成到。袜让
DimNumber
Number=8'设置变量初值。
SelectCaseNumber'判断Number的值。
Case1To5'Number的值在1到5之间,包含1和5。
Debug.Print"Between1and5"
'下一个Case子句是本示例中唯一判断值为True的子句。
Case6,7,8'Number的值在6到8之间。
Debug.Print"Between6and8"
Case9到10'Number的值为9或10。
Debug.Print"Greaterthan8"
CaseElse'其他数值。
Debug.Print"Notbetween1and10"
EndSelect
用VB编一个程序,求从1至100的自然数的和dimiasinteger
dimsumasinteger
i=1
方法1
dowhilei100
sum=sum+i
i=i+1
loop
方中基饥法卖返锋局3
do
sum=sum+i
i=i+1
loopwhilei100
vb程序设计题求解!!!谢谢各位了!!
Option Explicit
Private Sub Command1_Click()
Dim h0 As Integer, s As Single, a(1 To 20) As Single, i As Integer
a(1)= 100'第一个扔下的高度
For i= 2 To 20'每一个数组内数据表示小球行走的一个方向的路程,也就是奇数项是从最高点落下的路程,偶数项是从地面反弹到最高点的路程
a(i)= a(i- 1)/ 2
Next i
For i= 1 To 19'第10次落地的总路程
s= s+ a(i)
Next
Print"第10次落地的总路程:"& s
Print"最后一次弹起的高度:"& a(20)'我这里是把第10次落地以后弹起的高度当做最后一次谈起的高度
End Sub
Private Sub Command2_Click()
Dim n_a() As Integer, n_b() As Integer, n_left() As Integer
Dim i As Integer, j As Integer, k As Integer, min As Integer
'简单的方法一时想不出来,我就一个个试出来。虽然效率不是很高,不过还好数字不是很大.
For i= 0 To 321\ 17
For j= 0 To 321\ 27
If i* 17+ j* 27<= 321 Then
k= k+ 1
ReDim Preserve n_left(k)
ReDim Preserve n_a(k)
ReDim Preserve n_b(k)
n_a(k)= i
n_b(k)= j
n_left(k)= 321- i* 17- j* 27
End If
Next
Next
min= n_left(1)'求剩下最小的距离
j= 1'保存剩下最小距离的那组组合的序号
For i= 2 To k'我这里只求了一组解,也许有不同的组合而剩下距离相同的情况我就没有再列出来的··
If min> n_left(i) Then
j= i
min= n_left(i)
End If
Next
Print"最小剩余组合:17m X"& n_a(j)&"根,27m X"& n_b(j)&"根,剩余最小长度为"& n_left(j);"m"
End Sub
第三题我回答过了··你看下面的网址的第一题···
vb程序设计题,请高手解答
Vb编程实现两个有序数组的合并,即二路归并
数组A和数组B分别记录有一些数据,这两个数组上的数据都已经由小到大按顺序排列好。请用vb编写一个程序把这此数据合并到同一个数组之中,并使得合并后的数据全部按由小到大排列。
这就是所谓的“二路归并”。在编写这个程序时先进行说明一下,首先,大量数据的输入用inputbox()函数的方法显得很烦琐,特别在调试阶段,每次运行时都要输入一大堆数据。因此采用了ARRAY函数的输入方法。
为了使大量的数据在输出时看得清楚,我们在运行窗体上设置了一个文本框,并把文本框的属性MultiLine设为True,Scorllbars设为2(带竖直滚动条)。
Vb程序代码如下:
Private Sub Form_Click()
Dim a'定义了一个可变类型的数组
a= Array(1, 3, 5, 7, 9, 11)
Dim b
b= Array(2, 4, 6, 8, 10, 12, 14, 16, 18)
Dim c(1000)
pa= 0: pb= 0: pc= 0
ea= UBound(a)'可变数组A的下标的上界和下界可以用函数UBOUND()和LBOUND()得到(若没说明下标的下界一般是0)
eb= UBound(b)
Do Until pa> ea And pb> eb
If pa> ea Then ta= b(eb)+ 1 Else ta= a(pa)
If pb> eb Then tb= a(ea)+ 1 Else tb= b(pb)
If ta< tb Then
c(pc)= ta
pc= pc+ 1
If pa<= ea Then pa= pa+ 1
Else
c(pc)= tb
pc= pc+ 1
If pb<= eb Then pb= pb+ 1
End If
Loop
Print ea, eb, pc
Text1.Text="数组A的元素:"& vbCrLf
For i= 0 To ea
Text1.Text= Text1.Text& a(i)&""
Next i
Text1.Text= Text1.Text& vbCrLf& vbCrLf&"数组A的元素:"& vbCrLf
For i= 0 To eb
Text1.Text= Text1.Text& b(i)&""
Next i
Text1.Text= Text1.Text& vbCrLf& vbCrLf&"合并后B的元素:"& vbCrLf
For i= 0 To pc
Text1.Text= Text1.Text& c(i)&""
Next i
End Sub
当然,你可以把这些数据全部复制到一个数组之中再使用一个排序算法来处理一次,但这样的话,原来两个数组已经分别排好的顺序就没有利用上,能否利用原来已经排好顺序的特点使得算法高效一些?
OK,本文到此结束,希望对大家有所帮助。