源程序如下:
#include "pch.h"
#include <iostream>
#include <time.h>
using namespace std
int main()
{
const int n = 10000
int number[n] = { NULL }
srand((unsigned)time(NULL))
number[0] = rand() % n //第一个随机数无需比较
cout <<number[0] <<" "
for (int i = 1i <ni++) //其余随机数循环产生
{
int j = 0;
number[i] = rand() % n
while (1)
{
if (number[i] == number[j]) //若有相同则继续循环重新安排随机数
{
number[i] = rand() % n
j = 0 //若遇到相同的就从头遍历
continue
}
if (j == (i - 1)) //若遍历完就跳出
break
j++
}
cout <<number[i] <<" "
}
cout <<endl
return 0
}
程序运行结果:
扩展资料:
其他实现方式:
#include<time.h>//使用 time 函数必须引入 time.h 头文件
#include<stdlib.h>
int main()
{
srand((int)time(0))
int rand_num = rand()
printf("rand_num = %d\n", rand_num)
return 0
}
#include<stdio.h>#include<stdlib.h>
void displayData(int a[100])
{
int i
for(i=0i<100i++)
{
if(i%5==0){
printf("\n")
}
printf("%4d",a[i])
}
}
//判断数组中元素是否重复,重复返回1,否则返回0
int chongfu(int r[],int n,int data)
{
int i
for(i=0i<ni++)
{
if(r[i]==data)
{
return 1
}
}
return 0
}
//生成随机数的数组
void createRandomArray(int RAN[100])
{
int i,flag=0,random
for(i=0i<100i++)
{
while(1)
{
random=rand()
if(random<1000&&chongfu(RAN,i-1,random)==0)
{
RAN[i]=random
break
}
}
}
displayData(RAN)
}
//插入排序
void insertsort(int r[],int i,int x)
{ //i为数组r中已有序的元素的个数
while(i!=0 ){ r[i]=r[i-1]i--}
r[i]=x}
void main()
{
int RAN[100]
createRandomArray(RAN)
printf("\nok,随机数生成,开始执行排序操作 :\n")
printf("\n执行插入排序后:\n")
bubbleSort(RAN)
printf("\n执行选择后:\n")
chageSort(RAN)
printf("\n")
displayData(RAN)
getchar()
}
//#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h"
#include "time.h"
#include "stdlib.h"
int main(void){
int nDec[100],i,j,k
srand((unsigned)time(NULL))
for(i=0i<100nDec[i++]=rand())
for(i=0i<100i++){
for(k=i,j=k+1j<100j++)
if(nDec[k]<nDec[j]) k=j
if(i!=k){
j=nDec[i]
nDec[i]=nDec[k]
nDec[k]=j
}
printf("%d ",nDec[i])
}
printf("\n")
return 0
}