vb随机产生范围从1到100的10个整数放在数组a(1to10)中,用选择法将数组中的元素按由小到大顺序输出

作者&投稿:潜贝 (若有异议请与网页底部的电邮联系)
将随机产生范围从1到100的10个整数放在数组a(1 to 10)中,用选择法将数组中的元素按由小到大的顺序输出。~

代码如下:
public class Array_Number {
public static void main(String[] args) {
double[] doubleArr = new double[10];
List list = new ArrayList();
stroeRandomNumber(doubleArr);
storeInList(list, doubleArr);
System.out.println(list);
System.out.println("=================");
getListElement(list);
}

扩展资料
rand()函数用来产生随机数,会在0~32767的范围内随机返回一个整型数;使用该函数之前需要引用库函数"stdlib.h";其函数原型为:int rand(void),参数为空,返回值为一个int型变量。
使用rand()函数来产生随机数实际上并不是严格意义上的随机数,它是通过一个算法来模拟输出随机数,因为算法周期比较长,所以基本就达到了"随机",但是如果仅仅使用该函数,那么每次运行输出的结果都是一样的。
srand():
srand()函数是随机数发生器的初始化函数。函数原型:void srand(unsigned int seed);,参数是一个整型变量(随机数种子);rand()需要与rand()配合使用,rand()在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。
如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的,就像上面的两个程序一样,已确定默认种子的值,而srand()函数就起到手动改变种子的作用。

Private Sub Form_Click()Form1.ClsDim i As Integer, j As Integer, temp As IntegerDim a(1 To 10) As IntegerFor i = 1 To 10a(i) = Int(Rnd * 100 + 1)Next iFor i = 1 To 9For j = i + 1 To 10If a(i) > a(j) Then temp = a(i): a(i) = a(j): a(j) = tempNext jNext iFor i = 1 To 10Print a(i);Next iEnd Sub

Private Sub Form_Click()

Form1.Cls

Dim i As Integer, j As Integer, temp As Integer, k As Integer

Dim a(1 To 10) As Integer

For i = 1 To 10

a(i) = Int(Rnd * 100 + 1)

Next i

For i = 1 To 10

k = i

For j = i + 1 To 10

If a(k) > a(j) Then k = j

Next j

If (k <> i) Then temp = a(i): a(i) = a(k): a(k) = temp

Next i

For i = 1 To 10

Print a(i);

Next 

End Sub

选择法比冒泡法效率更高,在于其引入了变量k,先只变动下标而不是如冒泡法那样temp = a(i): a(i) = a(j): a(j) = temp ,直接交换。

这样减少了temp = a(i): a(i) = a(j): a(j) = temp 执行次数,提高了效率

选择法最多只会交换 n-1 次,n是数列中数的个数(本题中最多9次)

冒泡法一般都会大于n-1次,而且大得多




random函数的用法
用法:1、随机生成(0,1)之间的浮点数 random.random()2、随机生成100-200的整数 random.randint(100,200)3、随机产生范围为10间隔为2的数 random.randrange(0,11,2)注:这里输出(0,2,4,6,8,10)中一个 4、从序列中随机抽选一个数 random.choice(list)5、随机排序 random.shuffle(list)注...

java 怎么生成一个指定范围内的随机数
double a=Math.random();\/\/产生一个随机数给a int b=(int)(1+Math.random()*(10-1+1));\/\/产生一个1-10的数给b 示例代码:产生两个范围在(10-300)的随机数import java.util.Random;\/\/导入Random包public class Ranadd { public static void main(String[] args) { int x,y...

C++ 随机产生0或1两个数字
在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。rand ()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。返回值:返回0至RAND_MAX之间的随机整数值,RAND_MAX的范围最...

Java用Math.random()生成一个50-100间的整型随机数
Math类的random()方法可以生成[0,1)之间的随机浮点数。double类型数据强制转换成int类型,整数部分赋值给int类型变量,小数点之后的小数部分将会丢失。int b=(int)(Math.random()*10);\/\/生成[0,9]之间的随机整数。int temp=m+(int)(Math.random()*(n+1-m)); \/\/生成从m到n的随机整数[m,...

怎样用EXCEL求1-10的随机数
生成制定范围的随机数方法是这样的,假设给定数字范围最小是A,最大是B,公式是:=A+RAND()*(B-A)。举例来说,要生成大于60小于100的随机数字,因为(100-60)*RAND()返回结果是0到40之间,加上范围的下限60就返回了60到100之间的数字。所以,生成1~10 的随机数公式为 , =1+rand()*9 ...

随机生成十个1到50这个区间范围内不相同的整数,分别运用选择排序法和冒...
冒泡排序法:include<stdio.h> include<stdlib.h> include<time.h> int main(){ srand((unsigned)time(NULL));int i,j,t,a[10];for(i = 0; i < 10; ++i){ a[i]=rand() % 50 + 1;} for(i=0;i<9;i++){ for(j=0;j<9-i;j++){ if(a[j]>a[j+1]){ t=a[j];...

VBA 自动刷新产生随机数0~1之间5000个,再自动复制粘贴?
=A1+(RAND()*0.01+0.07)*(-1)^INT(RAND()*10)在b1 生成a1 差值在0.07和0.08之间的随机数 你可以随意调整0.01 和0.07 只要他们相加等于0.08即可 vba的话把rand换成rnd 你的代码不会大于0.08的,你看看是不是别的地方代码有问题吧 ...

【急】如何编程让excel表格中随机生成整数1并且和为固定值
还有缺陷。勉强用吧。若想完美,找VB老师吧。按F9键随机生成数据。F2=RAND()G2RANK(F2,$F$2:$F$25)两公式下拉至第25行。若为美观计,这部分内容可以隐藏或者字体设为无色。A2=IF(INDEX({1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0},G2)=1,1,"")E2=IF(...

程序文盲,1到3三个数据随机产生,难度从1到99定为多少,(就是问下这种程...
已测试通过,看来是我的代码最短,而有效!! Private Sub Command1_Click() Cls Dim a(10) As Integer Dim b As Integer For i = 1 To 10 a(i) = Int(Rnd * 90 + 10) For j = 1 To i If a(j) > a(i) Then b = a(j) a(j) = a(i) a(i) = b End If......

在VB中随机产生(a,b]范围内整数的公式是什么
1、vb中产生[a,b]区间的随机数的公式是:Int((b- a+ 1) * Rnd + a)2、根据以上公式得出,根本无法以公式法生成(a,b](半开区间)范围内的随机数。3、Rnd 函数返回小于 1 但大于或等于 0 的值。4、int是取整函数。

民乐县19416096265: vb随机生成10个数,在1到100之间,并且按照从大到小的顺序排成一行 -
爨宁恒森:[答案] Dim shuzu(1 To 10) As IntegerDim i As IntegerPrivate Sub Form_Load()Me.AutoRedraw = TrueRandomizei = 1For i = LBound(shuzu) To UBound(shuzu)shuzu(i) = 1 + Int(100 * Rnd())Print shuzu(i);NextPrintpaixu...

民乐县19416096265: vb语句 设计一个随机数程序,生成10个范围是1到100随机整数,并求出这10个数的最大值,最小值和平均数 -
爨宁恒森:[答案] '声明变量dim Min_num as intdim Max_num as intdim Sum_num as intdim Arr_num(9) as int'赋予初始值Min_num=101Max_num=-1Sum_num=0'循环10次获得10个随机数for i=1 to 10 randomize Arr_num(i-1)=int(r...

民乐县19416096265: 用VB在1 - 100中产生10个随机整数,按从小到大的顺序排列 如题..求代码 -
爨宁恒森:[答案] Dim MyValue(10) As Integer Dim i,j,p As Integer For i = 0 To 9 Randomize MyValue(i) = Int((100 * Rnd) + 1) Next For i = 0 To 9 For j = i + 1 To 10 If MyValue(i) > MyValue(j) Then p = MyValue(i) MyValue(i) = MyValue(j) MyValue(j) = p End If Next Next For i ...

民乐县19416096265: 用VB写出产生10个1到100的随机整数 -
爨宁恒森: dim a(10) as integer randomize for i=1 to 10a(i)=int(100*rnd)+1 next i

民乐县19416096265: vb程序:随机产生10个1 - 100之间(不包含1和100)的整数,并求出这10个数的和,请写出程序代 -
爨宁恒森:[答案] Dim SUM As interger Dim i As intergerDim V As interger Private Sub Command1_Click() &nbs...

民乐县19416096265: 随机产生10个1到100之间的数并按生序排列输出vb这个程序怎么做啊 -
爨宁恒森: 代码供参考:private sub command1_click() dim a(1 to 10) as integer,i,j for i=1 to 10 a(i)=int(rnd*100)+1 print a(i); next print for i=1 to 10 for j=1 to i if a(i)<a(j) then t=a(i):a(i)=a(j):a(j)=t next next for i=1 to 10 print a(i); next end sub

民乐县19416096265: 用vb设计一个程序:从0到100中随机抽取10个数,保存到数组中,查找出最大值并查找其位置 -
爨宁恒森: Private Sub Command1_Click() Dim i, b(1 to 10) As Long, max As Long, d As Integer Print "10个随机数:" Randomize For i = 1 To 10 b(i) = Int(Rnd * 100) Next i max = 0 For i = 1 To 10 Print b(i); If max < b(i) Then max = b(i): d = i Next i Print Print "其中最大值为:" & max, "位置是第" & Trim(Str(d)) & "个" End Sub

民乐县19416096265: 用VB编写可连续生成十个0至100之间的随机整数 -
爨宁恒森: 建一个按钮,两个label控件: private sub command1_Click()dim i as integer dim rInt as integer dim s1 as string dim s2 as string s1="" s2="" for i= 1 to 10 Randomize rInt=int(rnd() * 100) s1=s1 & cstr(rInt) if rInt mod 2 =0 then s2=s2 & cstr(rInt) end if next i label1.caption=s1 label2.caption=s2end sub

民乐县19416096265: vb随机产生范围从1到100的10个整数放在数组a(1to10)中,用冒泡法将数组中的元素按由小到大顺序输出 -
爨宁恒森: Private Sub Command2_Click() Randomize Timer Dim a(1 To 10) As Integer, i As Integer, j As Integer, tmp As Integer For i = 1 To 10 a(i) = Int(1 + Rnd * 100) Next For i = 1 To 10 For j = i To 10 If a(i) > a(j) Then tmp = a(i) a(i) = a(j) a(j) = tmp End If Next Next For i = 1 To 10 Print a(i); Next

民乐县19416096265: VB怎么写随机生成10个[1,100]之间的数,并从大到小排列的程序? -
爨宁恒森: Dim a(10) x = Rnd '第一个随机数总是2 Randomize Timer'找出随机数'*********************************************************** For i = 1 To 10 a(i) = Fix(1 + ((100 - 1 + 1) * Rnd)) '公式:Fix(m + (n-m+1 * Rnd)) Randomize Timer Next i'*********************...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网