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

vb编程~急~~

1.输出n行杨晖三角形,n由键盘输入

2.给出一个5行5列的矩阵,数值由用户输入;求出这个矩阵的鞍点(如果有的话)

鞍点:是所在行的最大同时是所在列的最小

3.参照myreplace函数,编写myinstr函数,头部为myinstr(s$,s1$),返回值为s中s1的起始位置,没有返回0

4.编写程序,实现简单的计算器的功能(至少要有加减乘除四种运算和0至9共10个字符以及等号、取消按钮)

注:2、4两题可以选做一题

追问:恩,我qq是876893356,你发送离线文件就可以了~~多谢了^^
答案:
第“4”题

你要的是不是图片这种计算机器功能?
说明:界面设计如图 ,在这里我用了四个文本框,JieGuo是用来显示输入时或计算显示的结果 YI 是用来装入还没输入运算符前的数,Er 是装入输入了运算符后的第二个数 FuHao 是用来接受输入符的,例如 加,减,乘,除。
'数字 0 到 9 的代码
Private Sub ShuZi_Click(Index As Integer)
If Trim(Len(FuHao)) = 0 And Trim(Len(Yi)) = 0 Then
Yi = Index
ElseIf Trim(Len(FuHao)) = 0 And Trim(Len(Yi)) <> 0 Then
Yi = Yi & Index
End If


If Trim(Len(Yi)) <> 0 And Trim(Len(FuHao)) <> 0 And Trim(Len(Er)) = 0 Then
Er = Index
ElseIf Trim(Len(Yi)) <> 0 And Trim(Len(FuHao)) <> 0 And Trim(Len(Er)) <> 0 Then
Er = Er & Index
End If
Deng.SetFocus
End Sub

Private Sub Jia_Click()
'加事件
If Trim(Len(Yi)) <> 0 And Trim(Len(FuHao)) = 0 Then
FuHao = "+"
End If

If Trim(Len(Yi)) <> 0 And Trim(Len(FuHao)) <> 0 And Trim(Len(Er)) <> 0 Then
' select case ......到 end select 主要是为了多符号连算
Select Case FuHao
Case "+"
T = Val(Yi) + Val(Er)
Case "-"
T = Val(Yi) - Val(Er)
Case "*"
T = Val(Yi) * Val(Er)
Case "/"
If Val(Er) <> 0 Then
T = Val(Yi) / Val(Er)
Else
MsgBox "除数不能为0", 16, "操作错误"
End If
End Select
FuHao = "+"
Er = ""
Yi = Format(T, "0.############")
End If
Deng.SetFocus
End Sub

这里有字数限制,如果你要的话留个邮箱或是QQ什么的我把一起工程发给你嘛
第“4”题你要的是不是图片这种计算机器功能?说明:界面设计如图 ,在这里我用了四个文本框,JieGuo是用来显示输入时或计算显示的结果 YI 是用来装入还没输入运算符前的数,Er 是装入输入了运算符后的第二个数 FuHao 是用来接受输入符的,例如 加,减,乘,除。'数字 0 到 9 的代码Private Sub ShuZi_Click(Index As Integer)If Trim(Len(FuHao)) = 0 And Trim(Len(Yi)) = 0 Then   Yi = Index   ElseIf Trim(Len(FuHao)) = 0 And Trim(Len(Yi)) <> 0 Then   Yi = Yi & IndexEnd IfIf Trim(Len(Yi)) <> 0 And Trim(Len(FuHao)) <> 0 And Trim(Len(Er)) = 0 Then   Er = Index   ElseIf Trim(Len(Yi)) <> 0 And Trim(Len(FuHao)) <> 0 And Trim(Len(Er)) <> 0 Then   Er = Er & IndexEnd IfDeng.SetFocusEnd SubPrivate Sub Jia_Click()'加事件If Trim(Len(Yi)) <> 0 And Trim(Len(FuHao)) = 0 Then   FuHao = "+"End IfIf Trim(Len(Yi)) <> 0 And Trim(Len(FuHao)) <> 0 And Trim(Len(Er)) <> 0 Then    ' select case ......到 end select 主要是为了多符号连算   Select Case FuHao          Case "+"          T = Val(Yi) + Val(Er)          Case "-"          T = Val(Yi) - Val(Er)          Case "*"          T = Val(Yi) * Val(Er)          Case "/"               If Val(Er) <> 0 Then               T = Val(Yi) / Val(Er)               Else               MsgBox "除数不能为0", 16, "操作错误"               End If    End Select    FuHao = "+"    Er = ""    Yi = Format(T, "0.############")End IfDeng.SetFocusEnd Sub这里有字数限制,如果你要的话留个邮箱或是QQ什么的我把一起工程发给你嘛
1,
Dim arr() As Integer
Private Sub Form_Click()
Cls
n = InputBox("请确定三角形的宽度")
If n <= 0 Or n > 15 Then Exit Sub
ReDim arr(n, n) As Integer
arr(1, 1) = 1
For i = 2 To n
For j = 1 To i
arr(i, j) = arr(i - 1, j - 1) + arr(i - 1, j)
Next j, i

For i = 1 To n
For j = 1 To i
Print Tab((n - i + 1) * 2 + j * 4); CStr(arr(i, j));
Next j
Print
Next i

End Sub

2,
Dim n%(5, 5)
Private Sub Form_Click()
Randomize
For i = 1 To 5
For j = 1 To 5
n(i, j) = InputBox("请输入元素:")
Print n(i, j); " ";
Next
Print
Next
Print
For i = 1 To 5
For j = 1 To 5
If n(i, j) <= n(1, j) And n(i, j) <= n(2, j) And n(i, j) <= n(3, j) And n(i, j) <= n(4, j) And n(i, j) <= n(5, j) And n(i, j) >= n(i, 1) And n(i, j) >= n(i, 2) And n(i, j) >= n(i, 3) And n(i, j) >= n(i, 4) And n(i, j) >= n(i, 5) Then
Print "鞍点:" & n(i, j) & "行:" & i & " 列:" & j
End If
Next
Next
End Sub
3题不是很懂,4题比较麻烦,做了第二就不做了!!
1。题 
Private Sub Form_Click()
Dim N As Integer, A() As Long
Do
N = Val(InputBox("请输入要输出的行数N:"))
Loop While N = 0
Cls
ReDim A(1 To N, 1 To N) As Long
For i = 1 To N
For j = 1 To i
If j = 1 Or j = N Then
A(i, j) = 1
Else
A(i, j) = A(i - 1, j) + A(i - 1, j - 1)
End If
Print Tab(j * 6 - 5 + (N - i) * 3); A(i, j);
Next
Next
End Sub

上一个:vb编程紧急紧急。。
下一个:vb编程上的问题

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