现在有一个数组(5个元素),如果这五个数值有相差小于1的,合并为一组并求平均数,如果相差没有小于1的,保留原数,求最后有几组,并求出各组平均数.如果不清楚就看例子!
例1:一个数组数值分别为 1,3,4,7,8
3和4相差1,7和8相差1,合并为一组,所以一共有3组
第一组数值为1,第二组数值为(3+4)/2,第三组数值为(7+8)/2
输出:组数|1 2 3
数值|1 3.5 7.5
例2:一个数组1,3,4,5,6
分为2组,第一组1,第二组(3+4+5+6)/4
输出:组数|1 2
数值|1 4.5
高分求解!!!!
在线等啊!!!急用!!!
谢谢,运行完美!!!!!只是组数和数据不对称,我自己改吧,太谢谢了!!!!另外也十分感谢橡皮树的博客,非常感激!!!感激涕零,回去研究研究!!!你们的代码对我来说都很有价值!
本来追问橡皮树的,可惜追问一直审核。。。。(带图),2位高手,感激感激X+oo
高手你好,我根据我的程序改动了一点发现不对,自己找不出错误,能不能帮忙看下,解决了追加50分!
1.用例题所示输出组数和每组数据,在label1.caption中输出组数,label2中输出各组值
例:
label1.caption 1 2 3
label2.caption 1 3.5 7.5
就是最后用label控件显示结果?
追问比如:我添加了2个label:label1显示组数(有几组就显示几组,如:有3组就是1 2 3(有空格)5组就是1 2 3 4 5)
label2显示每组平均值(就是你的k2(i))当然,与上面组数对其,如题所示;
比如;
1 2 3
1 3.5 7.5
Private Sub Command1_Click()
Dim k() As Variant, s As Integer
Dim k2() As Single, t As Single
Dim i As Integer, c As Integer
Dim J As Integer
k = Array(1, 3, 4, 7, 8)
s = k(0): c = 1: t = s
For i = 1 To UBound(k)
If k(i) - s <= 1 Then
t = t + s + k(i)
c = c + 1
Else
ReDim Preserve k2(J)
k2(J) = t / c
t = 0
c = 1
J = J + 1
End If
s = k(i)
Next i
ReDim Preserve k2(J)
k2(J) = t / c
Dim mm As String
Dim nn As String
'输出
mm = 1: nn = k2(0)
For i = 1 To UBound(k2)
mm = mm & Space(10 - i) & i + 1
nn = nn & Space(10 - Len(CStr(k2(i - 1)))) & k2(i)
Next i
Label1 = mm
Label2 = nn
End Sub
你帮我联系啊
追答好的,先采纳再重新问。
先谢谢了,能不能不用列表框,而且条件不是等于1,而是小于等于1
追答'符号改成<就行了
'可以用文本框
'文本框用数组一样的
文本框一为数组(文本框用复制方法)
For i = 0 To 9 ‘文本框如有十个就写9
If Text1(i + 1).Text - Text1(i).Text < 1 Then
Text2.Text = Text1(i).Text ’输出第一个数字到文本二
Text3.Text = Text1(i).Text ’输出第一个数字到文本三
End If
Next i
'然后
Text4.Text = (Text2.Text+Text3.Text)/2 '将平均数输出到文本框四
先谢谢了,但是如果有3个数都小于等于1那就要3个数相加除以3了,你这个好像只能求2个的。。没判断。。。
追答也可以这样
For a = 0 To 9 '假如有11个号的话
Forb= a+1
For c = b+1 ‘那么c 就是11了
If Text1(b).Text - Text1(a).Text < 1 Then
"将两数传送"
ElseIf Text1(c).Text - Text1(b).Text < 1 Then
"将两数传送"
End If
Next c
Next b
Next a
看懂了吧
你好!你的程序存在各种问题,很抱歉。。。
【VB超简单入门】九、程序执行顺序 1
在VB中,程序执行顺序主要通过三种方法控制:判断、循环、跳转。首先,判断功能用于逻辑判断,如比较数值大小、用户名验证等。条件语句和选择语句是实现判断功能的工具。条件语句如if语句,基于条件执行相应代码块;选择语句如select case,用于根据变量值执行不同操作,简化了多条件判断的编写。示例代码展示了...
VB中if语句\/Do while语句\/For语句一定代表循环语句吗?
if 是条件判断语句,决定执行还是不执行 其它的是循环语句,循环都是要有条件的,决定了什么时候开始循环或者什么时候时候结束循环
vb中的一个循环
在VB编程语言中,一个循环是一种控制结构,用于重复执行一段代码直至满足特定条件为止。这个例子展示了如何使用循环来生成一个随机数序列。程序首先在通用区声明了一个整型变量i。当程序启动时,主窗体加载事件会触发,此时i被初始化为0。接着,用户可以通过点击命令按钮(Command1)激活循环。在点击按钮时...
VB中while与for循环的区别
接着,我们探讨执行条件的判断方式。for循环在执行完循环体后,会再次进行条件判断,如果条件成立则继续循环,直至条件不成立跳出。相反,while循环一旦满足条件进入循环,无论循环体内执行了多少次代码,只要条件不满足,都会执行完当前循环体中的所有语句后跳出循环。从使用目的来看,for循环主要用于在已知循环...
VB中,Do While...Loop什么意思
Do While(条件)(循环体)Loop :先执行循环体再判断Do While后的条件是否为真,为真就再执行循环体,为假就执行Loop退出
在VB中, “IF ELSE"表示什么语句,"for next"表示什么语句???
if else是条件判断语句 for next 是循环语句 具体用法 for 变量=起始值 to 终止值 step 步长 next 变量
vb语句中Loop While是什么意思
Do...LoopWhile:先进入循环执行,然后判断条件是否满足,若满足,则进入下一次的循环。VB语句函数大全 1. Abs(N) 取绝对值;例:Abs(-3.5) 结果:3.5;2. Cos(N) 余弦函数;例:Cos(0) 结果:1;3. Exp(N) e为底的指数函数;例:Exp(3) 结果:20.068;4. Log(N) 以e为底的...
vb循环和条件判断
Label1.Caption = "": Label2.Caption = ""k = Array(4, 7, 5, 6, 9)'排序 BubbleSort2 k For i = 0 To UBound(k)'Debug.Print k(i) '测试排序结果 Next '分组 ReDim k2(0)k2(0) = 0 For i = 0 To UBound(k) - 1 If k(i + 1) - k(i) > 1 Then ReDim ...
VB中for;to;if;and;then代表什么意思?
for 是循环开始,to 是从条件1到条件2 if是判断语句,and是并且的关系,then是执行``理论很简单,在实际应用中就很复杂了``
vbifelse用法,
一、基本结构 VB中的If Else结构是基本的条件判断语句,用于根据不同的条件执行不同的操作。其基本结构如下:vbscript If 条件 Then ' 条件为真时执行的代码 Else ' 条件为假时执行的代码 End If 这种结构是最基础的,只有两种分支情况。如果需要根据更多的条件进行判断,可以使用嵌套的If Else结构。...