随机产生N个1,1000之间不重复的整数存入数组A中,并按从大到小顺序排列。键入整数X,查找:若无,则插入,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机产生N个1,1000之间不重复的整数存入数组A中,并按从大到小顺序排列。键入整数X,查找:若无,则插入,相关的知识,希望对你有一定的参考价值。
pascal程序如下,用记数法。假如需要c语言的再通知声,谢谢。var n,i,x:integer;
a:array[1..1000]of boolean;
begin
randomize;
readln(n);
fillchar(a,sizeof(a),true);
i:=1;
while i<=n do
begin
x:=random(1000)+1; //x为产生的一个随机数
if a[x] then begin a[x]:=false;i:=i+1; end; //如果数组a下标=x的值为true,表示x没有产生过
end;
for i:=1 to 1000 do
if not a[i] then write(i,' '); //不要排序了,只有把1-1000个数组元素扫描一次,false的就输出
end. 参考技术A #include <iostream>
using namespace std;
int main()
int a[10],t;
for(int i=0;i<10;i++)
cin>>a[i];
for(int j=0;j<9;j++)
for(int k=0;k<9-j;k++)
if(a[k]<a[k+1])
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
JAVA如何产生多个随机数
int a=(int)(Math.random()*10);
System.out.println(a);
这样就产生了一个随机数
如果我要2个随机数的话 我的想法是加一个变量
int a=(int)(Math.random()*10);
System.out.println(a);
int b=(int)(Math.random()*10);
System.out.println(b);
那如果要N个随机数的话 就要设N个变量
有没有更简单的方法啊??
偶菜鸟。。表笑偶。。。
int[] a = new int[5];
for(int i = 0;i < 5;i++)
a[i] = (int)(Math.random()*10);
上面就是代码,其中数字5是我随便定义的,也就是你所说的N 参考技术A 简单得不能再简单.
int n = ??;//n就是你想到的个数,自己写
for(int i=0;i<n; i++)
int a=(int)(Math.random()*10);
System.out.println(a);
本回答被提问者采纳 参考技术B
package gy.m8.d98;
import java.util.Random;
public class MathUtil
public static Random r = new Random();
public static int getRandom(int min, int max)
if (min == max)
return min;
if (max < min)
int tmp = max;
max = min;
min = tmp;
int num = Math.abs(r.nextInt()) % (max - min);
return (num + min);
public static void main(String[] args)
int min = 0;
int max = 1000;
int count = 50;
for (int i = 0; i < count; i++)
System.out.println("生成的随机数是" + getRandom(min, max));
以上是关于随机产生N个1,1000之间不重复的整数存入数组A中,并按从大到小顺序排列。键入整数X,查找:若无,则插入,的主要内容,如果未能解决你的问题,请参考以下文章
VB程序设计,用随机函数产生10个50以内(包括50)的随机整数存入一维数组。求出最大值并和数组中的首个
JS中,输出1-10之间的随机整数,用Math.random()咋搞呢