高手请进,这里是vb最为复杂的一个题

来源:百度知道 编辑:UC知道 时间:2024/05/31 17:41:58
控件:text1,text2,text3,command1
注:每个数都是一个十位数字组成
而第一个数字可以简称"第一个数",第二个数字简称"第二个数","……共六个数
而:
第一个数字的个位数简称"第一个尾",它的十位数简称"第一个头"
第二个数字的个位数简称"第二个尾",它的十位数简称"第二个头"
依次累推下去,至到第六个数字
要求:在text2里面输入:74 85 26 13 49 56(共6个数字)
而在text1里面输入:第一个数+第二个头+第四个尾+第三个数
在text3里面显示结果:74+8+3+26=111
注:这里的“第一个数”是text2里面的74,因为它排列在第一。
“第二个头”是text2里面的85,因为要取它的头数,所以就为8
“第四个尾”是text2里面的13,因为要取它的尾数,所以为3
“第三个数”是text2里面的26,因为这排列在第三。

private sub Command1_Click()
dim t1() , t2() ,t as string
dim sum
t1=split(text1.text,"+")
t2=split(text2.text)
for each t in t1
sum = sum + val(qs(t,t2))
next
text3.text=sum
End Sub

'函数qs主要为了确定字符所指的是第几个数,qst1参数接收"第某个"字符,qst2为6个数字的数组!
Function qs(qst1 as string ,qst2() as string)
dim i ,djgstr(1 to 6) as string ,k as integer
djgstr={"第一个","第二个","第三个","第四个","第五个","第六个"}
for each i in djgstr
k=k+1
if mid(qst1,1,6)= i then qs= qstw(mid(qst1,7,2),qst2(k))
next
end function

'函数qstw是为了获取第某数字的头,尾或数字,其中参数qsw接收"头尾数",qsz为第某个数
function qstw(qsw as string,qsz as string)
if qsw="数" then qstw = qsz
if qsw="头" then qstw = mid(qsz,1,1)
if qsw="尾" then qstw = mid(qsz,2,1)
end function

你是想要帮你写?还是你写好了出错了要帮忙改?