1365518252 2018-07-17 23:41:21
点我顶贴
收藏
删除
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
int N, i ,k ,t ;
int a[100],num=0;
cin >> N;
cout << N<<endl;
int j[100];
srand(10);
for (i = 0; i < N; i++)
{
j[i] = 1 + rand() % (1000 - 1 + 1);
a[i] = j[i];
cout << a[i] << ' ';
}
for (i = 0; i < N; i++)
{
for (k = 1; k < N; k++)
{
if (a[i] == a[k])
{
if (i != k) a[i] = NULL;
}
}
}
for (i = 1; i < N; i++)
{
for (k = 0; k < N - i; k++)
{
if (a[k] > a[k+1])
{
t = a[k]; a[k] = a[k+1]; a[k+1] = t;
}
}
}
for (i = 0; i<N; i++)
{
if(a[i]==0)
num++;
}
cout << endl << N-num << endl;
for (i = 0; i<N; i++)
{
if(a[i]!=0)
cout << a[i] << ' ';
}
}
#2 s64511518@2018-08-10 08:45:37
34550
回复
删除
回复 #1 guan1314:10这个参数代表种子 srand里面参数不同rand产生的随机数不同
如果不用srand函数 代码每次执行产生的随机数都是一样的 比如:第一次执行输出的随机数是1 2 3 4 5那么第二次执行的随机数还是 1 2 3 4 5 通过改变srand的实参改变rand函数产生的随机数