求VB 程序 ,输入N个数A—N,再输入一个数字M(M<N),求M个数之间的组合的积

例如:N个数据分别是3.1,2.4,2.8,1.5,0.8,3.6,这6个数据,求这6个数据中M(2)的排列组合的积,3.1*2.4=?2.4*2.8=?3.1*2.8=... 例如:N个数据分别是3.1,2.4,2.8,1.5,0.8,3.6,这6个数据,求这6个数据中M(2)的排列组合的积,3.1*2.4=? 2.4*2.8=? 3.1*2.8=? ...... 展开
 我来答
混忆
2013-06-19 · TA获得超过305个赞
知道小有建树答主
回答量:540
采纳率:0%
帮助的人:109万
展开全部
估计要用到双重循环语句了 还有数学知道结合
语句忘记了 不过 思路是这样的
首先 给你所需要的每个数赋值到一个变量里面 a(i)表示 然后 算出I是多少 弄出一个 这样的表达式
a(i-1)*a(i)
此时的I是个递减的变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寒信HK
2013-06-20 · TA获得超过1876个赞
知道大有可为答主
回答量:1326
采纳率:92%
帮助的人:396万
展开全部
刚才有误,更正如下
Dim i As Integer, j As Integer
Dim a As Variant
a = Array(3.1, 2.4, 2.8, 1.5, 0.8, 3.6)
For i = 0 To 4
For j = i +1To 5
Print a(i) & "×" & a(j) & "=" & a(i) * a(j)
Next j
Next i
追问
你好,我想要的不仅仅是 例子里面的6个数据,而是N个数据,需要的组合形式也不是2个,而是M个数据的组合,麻烦您再完善下,谢谢
追答
不管是多少个,如果是预先知道的数据,就按下面的代码赋值给数组a
Dim i As Integer, j As Integer
Dim a As Variant
a = Array(3.1, 2.4, 2.8, 1.5, 0.8, 3.6) '这里给数组a赋初值
For i = 0 To ubound(a)-1
For j = i +1To ubound(a)
Print a(i) & "×" & a(j) & "=" & a(i) * a(j)
Next j
Next i
如果不是预知的数据,而是要手动一个一个输入,就改成下面的
Dim i As Integer, j As Integer,tmp as string
Dim a(1) as double
dim endinput as boolean
endinput=false
a(0)=inputbox("请输入数据")
do while endinput=false
tmp=inputbox("请输入数据")

if tmp="end" then '如果输入"end"则表示数据输入完毕
endinput=true
else
redim a preserve a(ubound(a)+1)
a(ubound(a))= tmp
end if
loop
For i = 0 To ubound(a)-1
For j = i +1To ubound(a)
Print a(i) & "×" & a(j) & "=" & a(i) * a(j)
Next j
Next i
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式