一道C++题目 急

来源:百度知道 编辑:UC知道 时间:2024/06/23 12:18:31
随机产生20个不重复的10~80之间的数,将其存放在数组中,并输出这些数字。
实现的思想是,每产生一个数字,在数组中查找已产生的数字。若找到,刚产生的数字作废,重新产生;找不到,则产生的数字放入数组中。

#include <iostream>
#include<ctime>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
int a[20],
i,j;
for(i=0;i<20;i++)
{
a[i]=rand()%70+10;
for(j=0;j<i;j++)
if(a[j]==a[i])
i--;
}
for(i=0;i<20;i++)
cout<<a[i]<<' ';
cout<<endl;

return 0;
}

#include<iostream>
#include <ctime>
#include <cstdlib>

#define MAX_NUM 20
using namespace std;
int main()
{
int N[MAX_NUM];
int i,j,tmp;

srand(time(NULL));
memset(N,0,sizeof(N));
for(i=0;i<MAX_NUM;)
{
N[i] = rand()%71 +10; //随时数
for(j=0;j<i;j++) //查找
{
if(N[i] == N[j])
break;
}
if(i==j)
{
i++;
}
}

cout << "Out: " << endl ;<