| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 636 人关注过本帖
标题:[求助] 关于一个等差数列的问题
只看楼主 加入收藏
自在飞叶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-25
收藏
 问题点数:0 回复次数:4 
[求助] 关于一个等差数列的问题

自己苦思冥想多时,不得其解!望各位赐教!

问题是这样的:

随机产生0-20个数,建立一个有6个数据的等差数列,count用来记录试验次数。一旦形成等差数列,则打印输出,同时结束程序运行

private sub command1_click()
count n =6
dim a%(n),i%,count&,d%
randomize timer
do while true
for i = 1 to n
a(i)=rnd*20
next i
count = count +1
d=a(2)-a(1)
for i = 1 to n
if a(i)-a(i-1) <> d then exit for
next i
if ______________________________ then
for i = 1 to n
?a(i);
?count
_________________
end if
loop
end sub

题中划线的地方,却想不出正解

搜索更多相关主题的帖子: 等差 
2006-11-25 22:39
gcwen
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-11-6
收藏
得分:0 

你写出来的程序是有问题的,怪不得调试不出来;
1.关于数组的定义建议你再补习一下;
2.“一旦形成等差数列,则打印输出,同时结束程序运行”,可是你的程序无法“结束”
我修改了一下,仅作参考:
private sub command1_click()
Const N = 6
Dim a%(1 To N), i%, count&, d%
Dim b As Boolean
Randomize Timer
b = True
count = 0
Do While b
For i = 1 To N
a(i) = Rnd * 20
Next i
count = count + 1
d = a(2) - a(1)
For i = 3 To N
If a(i) - a(i - 1) <> d Then Exit For
Next i
If i = N + 1 Then
b = False
For i = 1 To N
Print a(i);
Print count
'Cells(1, i) = a(i)
'Cells(2, 1) = count

Next i
End If
Loop
end sub

[此贴子已经被作者于2006-11-26 18:39:44编辑过]

2006-11-26 18:37
自在飞叶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-25
收藏
得分:0 

感谢,我运行了一下,

我觉得变量B可以省略
private sub command1_click()
const n =6
dim a%(n),i%,count&,d%
randomize timer
do while true
for i = 1 to n
a(i)=rnd*20
next i
count = count +1
d=a(2)-a(1)
for i = 1 to n
if a(i)-a(i-1) <> d then exit for
next i
if i=n+1 then
for i = 1 to n
?a(i);
?count
next i
end if
loop
end sub

如此运行,程序相应好慢,不知为何?

2006-11-26 18:57
gcwen
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-11-6
收藏
得分:0 

因为省略掉b之后,程序无法结束!

2006-11-26 19:02
自在飞叶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-25
收藏
得分:0 
知道了,谢谢
2006-11-26 19:11
快速回复:[求助] 关于一个等差数列的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024017 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved