
用C++怎么生成n个1~n间各不相同的随机数,其中n是用户自己输入的
展开全部
#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;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询