随机生成【1,100】之间的10个整数存放在数组中。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机生成【1,100】之间的10个整数存放在数组中。相关的知识,希望对你有一定的参考价值。
(1)对其由小到大进行排序
(2)从键盘输入一个整数,查找该数是否在数组中,如果存在则从数组中删除该数
用C语言编写。 加程序的注释
#include<time.h>
#include<stdlib.h>
#define SIZE 10
main()
int ary[SIZE],i=0,j=0,k,n,m;
time_t t;
srand((unsigned)time(&t));//随机数的产生与系统时间有关
for(i=0;i<SIZE;i++) //输出生成数结果
ary[i]=rand()%100+1;
printf("The unifrom randrom number %d is %d\n",i+1,ary[i]);
arry(ary);//调用排序函数
for(k=0;k<SIZE;k++)/*输出排序结果,不是必需的*/
printf("After arry The %d is %d\n",k+1,ary[k]);
m=find(ary); /*调用find函数查找要删除的数并删除*/
for(n=0;n<SIZE-m;n++)/*输出删除之后的结果,不是必需的*/
printf("After delete %d is %d\n",n+1,ary[n]);
getch();
void arry(int t[])//排序函数
int i,j,temp;
for(i=0;i<SIZE;i++)
for(j=0;j<SIZE;j++)
if(t[i]<t[j])
temp=t[i];
t[i]=t[j];
t[j]=temp;
int find(int b[])//找出要删除的数并删除
int i,j,l=0,k;
printf("Please input the number you find:");
scanf("%d",&i);
for(j=0;j<SIZE;j++)
if(b[j]==i)
l++;
for(k=j;k<SIZE-l;k++)
b[k]=b[k+1];
j--;
return l;//返回值为删除相同数的个数
参考技术A #include<stdio.h>
#include<stdlib.h>
#include<ctime>
#define MAX1 100 //在100以内找
#define MAX2 10 //找10个
int * random(int * a , int k)
int * random_store=(int *)malloc(sizeof(int)*k);
for(int i=0;i<k;i++)
random_store[i]=a[i];
srand(time(0)); // 初始化随机数生成器 头文件#include<ctime>
for(i=0;i<MAX1;i++) // 使生成不重复的随机数
random_store[i]=rand()%MAX1;
for(int j=0;j<i;j++)
if(random_store[j]==random_store[i]) //如果有重复的回退一步
i--;
break;
if(i==k)
break;
for( i=0;i<k;i++)
a[i]=random_store[i];
return a;
int * order(int * a,int k)
int MAX3=200;
int temp=0;
int mark=0;
for(int i=0;i<k;i++)
for(int j=i;j<k;j++)
if(a[j]<MAX3) //从小到大排序
MAX3=a[j];
mark=j;
temp=a[i];
a[i]=MAX3;
a[mark]=temp;
MAX3=200;
return a;
int * find(int * a,int k,int key)
for(int i=0;i<k;i++)
if(a[i]==key)
a[i]=0;
return a;
return a;
void main()
int * a=(int *)malloc(sizeof(int)*MAX2);
int key=0;
a=random(a,MAX2); //随机生成数
a=order(a,MAX2); //排序
for(int i=0;i<MAX2;i++)
printf("%d ",a[i]); //不需要可以删掉
printf("\n请输入一个数字:");
scanf("%d",&key);
a=find(a,MAX2,key); ///查找是否有与输入的数字一样的数
for( i=0;i<MAX2;i++)
printf("%d ",a[i]);
参考技术B #include <iostream>
using namespace std;
int cmp(const void *p1,const void *p2)//qsort中的比较函数
int *ptr1=(int*)p1;
int *ptr2=(int*)p2;
return (*ptr1-*ptr2);//从小到大排序
int main()
int list[10],num,flag;
srand(time(NULL));//随机种子
for (int i=0;i<10;i++)
list[i]=(rand()%100+1);//随机生成1~100的数
cout<<"随机生成的10个数为:"<<endl;
for (int i=0;i<10;i++)
cout<<list[i]<<" ";
cout<<endl;
qsort(list,10,sizeof(list[0]),cmp);//排序
cout<<"排序后的10个数为:"<<endl;
for (int i=0;i<10;i++)
cout<<list[i]<<" ";
cout<<endl;
cout<<"请输入待查找的数:";
cin>>num;
flag=0;
for (int i=0;i<10;i++)
if (num==list[i])
flag=1;
break;
if (flag)
cout<<num<<"在原数组中。"<<endl;
else
cout<<num<<"不在原数组中。"<<endl;
system("pause");
return 0;
输入输出函数你自己改成c语言的形式吧 参考技术C 实验一下就知道拉
JS中,输出1-10之间的随机整数,用Math.random()咋搞呢
使用Math.floor(Math.random()*10+1)函数实现。
1、floor():返回小于等于x的最大整数。
2、函数返回一个浮点, 伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1)。实现将初始种子选择到随机数生成算法,它不能被用户选择或重置。
实例演示如下:
1、html代码如下,绑定生成函数:
2、函数代码如下:
2、随机演示效果如下:均为1-10之内的整数。
扩展资料:
生成不重复的10个随机数,可以用数组存储已经生成的数,新生成的数据若不在数组中就满足条件。
1、函数代码如下:
2、同理,绑定一个button用于测试:
2、演示:点击按钮直到产生10个数字。一次随机数据生产如下:(10个不重复)
参考资料:
百度百科--math.random()
JavaScript获取[n-m]之间的随机整数简单高效的方法:
var min = 5;var max = 10;
var rand = Math.floor(Math.random()*(max-min+1))+min;
思路如下:
1. `Math.random() `取0-1之间的随机小数(float);
2. 然后再乘以 n-m 之间的数字个数`(max-min+1)`;
3. 然后两者相乘向下取整 `Math.floor(Math.random()*(max-min+1))`;
4. 最后再加上最小值即可:`Math.floor(Math.random()*(max-min+1))+min`。
下面是演示代码:
<script>let min = 5;
let max = 15;
let randArr = [];
for(let i=0;i<100;i++)
let rand = Math.floor(Math.random()*(max-min+1))+min;
randArr.push(rand)
console.log(randArr.join(','))
</script>
> Chrome运行结果
12,14,11,13,15,8,5,15,11,7,15,11,10,11,6,5,6,12,9,
11,11,7,14,14,15,10,13,7,14,14,5,15,5,10,9,5,6,13,5,
6,15,9,11,6,11,9,15,13,14,13,8,5,8,5,10,6,15,12,12,6,
11,10,15,5,13,9,14,7,5,7,11,9,15,10,8,10,11,8,7,
13,5,11,12,12,9,8,12,6,12,6,5,15,15,7,10,9,6,12,6,8 参考技术B <script>
document.write(parseInt(10*Math.random())); //输出0~10之间的随机整数
document.write(Math.floor(Math.random()*10+1)); //输出1~10之间的随机整数
function RndNum(n)
var rnd="";
for(var i=0;i<n;i++)
rnd+=Math.floor(Math.random()*10);
return rnd;
document.write(RndNum(4)); //输出指定位数的随机数的随机整数
引用部分:
1. 从1开始 至 任意值parseInt(Math.random()*上限+1); 2. 从任意值开始 至 任意值parseInt(Math.random()*(上限-下限+1)+下限);
function fRandomBy(under, over)
switch(arguments.length)
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;
document.write(fRandomBy(1,100)); //输出指定范围内的随机数的随机整数
</script> 参考技术C Math.randInt(1,10);
在Math里面有函数可以直接产生,不用自己写。 参考技术D var i=Math.random() //获得0-1的随机数
document.write(math.ceil(i*10)) //乘以10并向上去整
以上是关于随机生成【1,100】之间的10个整数存放在数组中。的主要内容,如果未能解决你的问题,请参考以下文章
javascript 随机生成十个(1-100以内)不相等的整数,存放在一维数组numArr中, 对该数组排序,并输出显示。
自动生成10个整数(1~100),求出生成数组中的最大值和最小值,以及显示排序后的数据。运行效果如图所示
shell脚本生成[4,9]范围内的随机整数,包含边界值4和9,并将随机数序列存放在一个数组中,脚本实现?