用C++怎么生成n个1~n间各不相同的随机数,其中n是用户自己输入的
发布网友
发布时间:2024-10-07 22:12
我来回答
共1个回答
热心网友
时间:2024-12-02 17:11
#include <iostream>
#include <iomanip>
#include<time.h>
using namespace std;
void myrand(int *a,int num)//产生num个不重复的随机数
{
int i,n=0,t;
t=rand()%num+1;
while(n<num)
{
for (i=0;i<n;i++)
if (t==a[i]) break;
if (i==n)
{
a[n]=t;
n++;
}
t=rand()%num+1;
}
}
void main()
{
int a[2000],n;
cin>>n;
myrand(a,n);
for (int i=0;i<n;i++)
{
cout<<setw(4)<<a[i];
if((i+1)%10==0)
cout<<endl;
}
}