and函数如何随机java产生随机整数十个整数

扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
如何用VBA自定义一个函数:随机生成规定范围内的整数,比如2到10之间的随机整数?
天涯路人歌239
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
Public Function iRnd(a As Integer,b As Integer) As IntegeriRnd = Int(Rnd * (Abs(a - b) + 1)) + IIf(a >= b,b,a)End Function-------两个参数:a,b 表示上限和下限,没有前后之分(a是上限或下限都行,b也一样)
为您推荐:
其他类似问题
扫描下载二维码苹果/安卓/wp
积分 684, 距离下一级还需 116 积分
权限: 自定义头衔, 签名中使用图片
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发下一级可获得
权限: 隐身
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
在excel中 可以使用Randbetween(a,b)的语句来生成相应范围内的数字
在SAS中如何实现??
利用ranuni和rannor语句怎么实现啊?
拜托各位大神了
载入中......
%macro random(a,b,k);
retain&&seed 2;
do I=1 to &k;
t=ranuni(seed);
x1=(&a)*(1-t)+(&b)*t;
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。
mingfeng07 发表于
%macro random(a,b,k);
retain&&seed 2;非常感谢!
还有几点疑问的是:
& & 1、ranuni(seed)生成的随机数字范围是多少?与seed有没有关系?
& & 2、如果想生成1到10(包括1和10)之间的任意整数,是将X1+1后取整还是将X1取整后加1?
再次表示非常感谢
The answer from mingfeng is excellent. This is my code seen below. JingJu
a和b分别代表两个数字,随机数字的范围就是在(a,b)内,与seed没有关系,如果要取整数,则用在前面加个int()就可以了
热心帮助其他会员
总评分:&论坛币 + 50&
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。
本帖最后由 lizhewenbei 于
07:47 编辑 mingfeng07 发表于
%macro random(a,b,k);
retain&&seed 2;非常感谢
mingfeng07 发表于
%macro random(a,b,k);
retain&&seed 2;%macro random(a,b,k); 请问这句话是什么意思啊?
初级热心勋章
初级热心勋章
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师[转载]利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排
1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。
2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。
3)如果采用4种或4种以上的方法者,可适当加分。
源程序如下:
&stdio.h&//标准输入输出头文件
&stdlib.h&//定义杂项函数及内存分配函数
&string.h&&&&
//字符串处理
#include &time.h&//定义关于时间的函数
#define N 20000
Start,N//时钟
void Wrong()//错误输出
printf("n*****按键错误!请重新输入*****n");
getchar();//从标准输入获取字符并返回下一个字符
void change(int a[])//十个一行输出
system("cls");//清除之前的操作
for(i=0;i&N;i++)
if((i-1)==9)
&&&&&&&&&&&&&&
printf("n");
printf("%-7d",a[i]);
//二分插入排序
void Sort_efcr (int a[],int p)
t,i,j,low,high,
for(i=2;i&N;i++)
while(low&=high)
&&&&&&&&&&
mid=(low+high)/2;
&&&&&&&&&&
if(a[mid]&t)
&&&&&&&&&&
high=mid-1;
&&&&&&&&&&
else low=mid+1;
for(j=i-1;j&=j--)
a[j+1]=a[j];
&//插入排序
void Sort_charu (int a[],int p)
&& int i,j,
for(i=1;i&N;i++)
temp=a[i];//设置监视哨
for(j=i;j&0&&a[j-1]&j--)//寻找位置插入
&&&&&&&&&&
a[j]=a[j-1];//交换
&//选择排序
void sort_xz(int a[],int p)
int i,j,k;
for(i=0;i&N-1;i++)
for(j=i+1;j&N;j++)//寻找最小的记录序号
if(a[j]&a[k])
k=j;//记录
&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&&&&&
temp=a[k];
&&&&&&&&&&&
a[k]=a[i];
&&&&&&&&&&&&
sort_mp(int a[],int p)
(i=0;i&N-1;i++)
(j=N-1;j&i;j--)
(a[j]&a[j-1])
temp=a[j];
a[j]=a[j-1];
void creatheap(int a[],int i,int
n)&& //创建堆
&t=a[i];//堆顶元素暂存
&j=2*(i+1)-1;
&while(j&=n)//堆顶元素下筛
&&if((j&n)&&(a[j]&a[j+1]))//确定下筛位置
&&if(t&a[j])
&&a[i]=a[j];
&&&j=2*(i+1)-1;
&&}//a[j]往堆顶方向移
}//不移动,返回堆顶
void sort_d(int a[],int n,int
&for(i=n/2-1;i&=0;i--)//在序列的中间位置找一个数做堆顶
&&creatheap(a,i,n-1);
&for(i=n-1;i&=1;i--)//n-1次筛选
&&a[0]=a[i];
&&creatheap(a,0,i-1);}
//插入排序时间
double TSort_charu(int a[],int p)
for(i=0;i&N;i++)
b[i]=a[i];//函数值的调用
Start=clock();
& Sort_charu(b,p); //执行算法
&& Now=clock();
time=((double)(Now- Start))/CLK_TCK;//执行算法前后的时间差
{change(b);getchar();}//如果用户输入选择不为计算时钟,则要选择换行输出
printf("n用直接插入排序法用的时间为%f秒;",time);
fp=fopen("F:直接插入排序.txt","w");//在f盘保存一个文本文件
for(i=0;i&N;i++)
fprintf(fp,"%d ",b[i]);
&& fclose(fp);
return(time);
//选择排序时间
double Tsort_xz(int a[],int p)
for(i=0;i&N;i++)
b[i]=a[i];
&Start=clock();
&sort_xz(b,p);//执行函数
{change(b);getchar();}
Now=clock();
&& time=((double)(Now-
Start))/CLK_TCK;//执行算法前后的时间差
printf("n用直接选择排序法用的时间为%f秒;",time);
&FILE *//文件指针
fp=fopen("F:直接选择排序.txt","w"); //存档
for(i=0;i&N;i++)
fprintf(fp,"%d ",b[i]);//读写一个文档
fclose(fp);
return(time);
//冒泡排序时间
double Tsort_mp(int a[],int p)
for(i=0;i&N;i++)
b[i]=a[i];
&Start=clock();
sort_mp(b,p);
&Now=clock();
time=((double)(Now- Start))/CLK_TCK;//执行算法前后的时间差
{change(b);getchar();}
printf("n用冒泡排序法用的时间为%f秒;",time);
fp=fopen("F:冒泡排序.txt","w");
for(i=0;i&N;i++)
fprintf(fp,"%d ",b[i]);
fclose(fp);
return(time);
//二分插入排序时间
double TSort_efcr(int a[],int p)
for(i=0;i&N;i++)
b[i]=a[i];//函数值的调用
Start=clock();
& Sort_efcr(b,p); //执行算法
&& Now=clock();
time=((double)(Now- Start))/CLK_TCK;//执行算法前后的时间差
{change(b);getchar();}//如果用户输入选择不为计算时钟,则要选择换行输出
printf("n用二分插入排序法用的时间为%f秒;",time);
fp=fopen("F:二分插入排序.txt","w");//在f盘保存一个文本文件
for(i=0;i&N;i++)
fprintf(fp,"%d ",b[i]);
fclose(fp);
return(time);
double Tsort_d(int a[],int n,int p)//堆排序时间
for(i=0;i&N;i++)
b[i]=a[i];
&Start=clock();
sort_d(b,N,p);
Now=clock();
&& time=((double)(Now-
Start))/CLK_TCK;//执行算法前后的时间差
&{change(b);getchar();}
printf("n用堆排序法用的时间为%f秒;",time);
fp=fopen("F:堆排序.txt","w");
for(i=0;i&N;i++)
fprintf(fp,"%d ",b[i]);
fclose(fp);return(time);
BubleSort(double a[]) //时间数组的排序(冒泡)
for(i=1;i&6;i++)
for(j=4;j&=i;j--)
if(a[j+1]&a[j])
&&&&&&&&&&
temp=a[j+1];
&&&&&&&&&&
a[j+1]=a[j];
&&&&&&&&&&
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&&
***************************尊敬的用户您好***************************&
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&& ****欢迎使用由计算机1004班 吴丽娜
编辑的综合排序系统!****& n");
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&&&&&&&&&&&&&&&&&&&&&&&&
现在请您做出以下选择&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&&
*********************************************************************
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&&&&&&&
**************&
1:直接插入排序&& ***********n");
printf("&&&&&&&&&
**************&
2:直接选择排序&& ***********n");
printf("&&&&&&&&&&&
**************&
3:冒泡排序&&&&&&
***********n");
printf("&&&&&&&&&&&&&
**************&
4:二分插入排序&& ***********n");
printf("&&&&&&&&&&&&&&&
**************&
5:堆排序&&&&&&&&
***********n");
printf("&&&&&&&&&&&&&&&&&
**************&
6:时间效率比较&& ***********n");
printf("&&&&&&&&&&&&&&&&&&&
**************&
7:显示随机数&&&&
***********n");
printf("&&&&&&&&&&&&&&&&&&&&&
**************&
0:退出&&&&&&&&&&
***********n");
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf("&&
********************************************************************&
&&& double
TIMES[5],TIMES1[5];//时间数组
srand((int)time(NULL));&&&&
for(i=0;i&N;i++)
a[i]=rand() 000+1; //随机为数组赋值
//循环执行,直到按0退出
&& system("cls");
&& menu();&
//显示选择界面
scanf("%d",&p);& //等待输入
&& //输入0退出
&& if(p==0)
printf("&&
************************谢谢!欢迎下次使用*************************!n");
getchar();
&& //判断输入值,选择相应的操作
&& switch(p)
1:TSort_charu(a,p);printf("n请按任意键继续...");getchar();
2:Tsort_xz(a,p);printf("n请按任意键继续...");getchar();
3:Tsort_mp(a,p);printf("n请按任意键继续...");getchar();
4:TSort_efcr(a,p);printf("n请按任意键继续...");getchar();
5:Tsort_d(a,N,p);printf("n请按任意键继续...");getchar();
&& case 6:system("cls");
TIMES1[1]=TIMES[1]=TSort_charu(a,p);
TIMES1[2]=TIMES[2]=Tsort_xz(a,p);
TIMES1[3]=TIMES[3]=Tsort_mp(a,p);
TIMES1[4]=TIMES[4]=TSort_efcr(a,p);
TIMES1[5]=TIMES[5]=Tsort_d(a,N,p);
&& getchar();
&& BubleSort(TIMES);
&& printf("nn");
&&printf("排序这组数据两种较快的排序法分别是:n");
&& if(TIMES[1]==TIMES1[1])
printf("直接插入排序:%f秒!n",TIMES[1]);
if(TIMES[1]==TIMES1[2]) printf("直接选择排序:%f秒!n",TIMES[1]);
&& if(TIMES[1]==TIMES1[3])
printf("冒泡排序:%f秒!n",TIMES[1]);
&& if(TIMES[1]==TIMES1[4])
printf("二分插入排序:%f秒!n",TIMES[1]);
&& if(TIMES[1]==TIMES1[5])
printf("堆排序:%f秒!n",TIMES[1]);
&& if(TIMES[1]!=TIMES[2])
if(TIMES[2]==TIMES1[1]) printf("直接插入排序:%f秒!n",TIMES[2]);
if(TIMES[2]==TIMES1[2]) printf("直接选择排序%f秒!n",TIMES[2]);
&& if(TIMES[2]==TIMES1[3])
printf("冒泡排序%f秒!n",TIMES[2]);
if(TIMES[2]==TIMES1[4]) printf("二分插入排序:%f秒!n",TIMES[1]);
&& if(TIMES[2]==TIMES1[5])
printf("堆排序%f秒!n",TIMES[2]);
&printf("n请按任意键继续...");
&srand((int)time(NULL));
&for(i=0;i&N;i++) {a[i]=rand()
000+1;}& getchar();
&case 7:change(a);FILE *
&fp=fopen("F:随机数.txt","w");
&for(i=0;i&N;i++) fprintf(fp,"%d
&fclose(fp);getchar();
&printf("n请按任意键继续...");
&getchar();
&default:Wrong();
&getchar();
实验心得:
通过一周的实习,让我对编程产生了兴趣,以前都没怎么编程,以后会让自己努力的去编点东西,这周我学到了很多,特别是干什么都要细心,粗心的人很难完成一件事,很感谢这个礼拜同学们和老师们对我的帮助,不过真正的实践还是要靠自己来才有意义,指不定还能得到到意想不到的收获和经验,这个也是一个学习的过程
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。利用随机函数Rnd产生10个1~100的整数,输出这10个数,并输出它们中的最大值、最小值和平均值
写出程序代码谢谢
Dim tt(100), s(10), temp1, temp2, te相关信息, i
Randomize
'随机,不使用时,rnd()函数是有规律的
For i = 1 To 100
tt(i) = i
'用tt数组存放100个数,不直接用S数组是为了避免出现重复的数字
Next i
For i = 1 To 10
1 s(i) = tt(Int(Rnd() * 100 + 1)) '循环10次得到数组s,存放10个随机数
If s(i)
'如果得到的s数组值不为空
temp3 = temp3 + s(i)
'把10个数相加
tt(s(i)) = ""
'把tt数组已取出的值赋予空值
Else
GoTo 1
'如果取出的值为空,则......
Dim tt(100), s(10), temp1, temp2, te相关信息, i
Randomize
'随机,不使用时,rnd()函数是有规律的
For i = 1 To 100
tt(i) = i
'用tt数组存放100个数,不直接用S数组是为了避免出现重复的数字
Next i
For i = 1 To 10
1 s(i) = tt(Int(Rnd() * 100 + 1)) '循环10次得到数组s,存放10个随机数
If s(i)
'如果得到的s数组值不为空
temp3 = temp3 + s(i)
'把10个数相加
tt(s(i)) = ""
'把tt数组已取出的值赋予空值
Else
GoTo 1
'如果取出的值为空,则跳转到1,重新取值
End If
Next i
temp3 = temp3 / 10
'用10个数相加的和除以10,求出平均数
'弹出对话框,显示10个随机数
MsgBox s(1) & Chr(13) & s(2) & Chr(13) & s(3) & Chr(13) & s(4) _
& Chr(13) & s(5) & Chr(13) & s(6) & Chr(13) _
& s(7) & Chr(13) & s(8) & Chr(13) & s(9) & Chr(13) & s(10)
temp2 = 100
'temp2用于存放最小值,需设置一个最大值,否则temp2无法得到数据
For i = 1 To 10
If s(i) >= temp1 Then temp1 = s(i)
'如果当前值大于temp1,则temp1取当前值
If s(i) <= temp2 Then temp2 = s(i)
'如果当前值小于temp2,则temp2取当前值
Next i
'弹出对话框,显示最大值,最小值,平均值
MsgBox "最大值:" & temp1 & Chr(13) & "最小值:" & temp2 & Chr(13) & "平均值:" & temp3
其他答案(共1个回答)
新建 Form1 ,添加 Label1 , Label2 和 Command1 ,复制以下代码:
Private Sub Command1_Click()
Dim x(24) As Integer, i As Integer, j As Integer
Private Sub Command1_Click()
函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。函数rand()会返回一个处于0和你所指定的数值(缺省为1)之间的分...
&#034;产生的随机数按理是没有类型的,&#034;
怎么没有类型啊?Math.random()返回的是一double型的值!
并非都要进行强制转换,发生缩小转换就一定要强制转换...
答: 电子验孕棒能反复使用,这样会不会让这个准确率变低的呢,几次能用的?
答: 好在有许多成熟的安全和网络技术,例如虚拟私有网络(VPN)和防火墙等,能够极大地提高Web服务应用的安全和性能,让开发者拥有选择安全技术的自由,而不是非得使用尚...
答: 某些ADSL调制解调器使用USB接口与电脑相连,需要在电脑上安装指定的软件以添加虚拟网卡来进行通信
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415

我要回帖

更多关于 随机整数函数 的文章

 

随机推荐