讨论 / 有没有大婶帮忙看看,这样行不行。。。
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] << ' ';

}

}

#1 guan1314@2018-07-25 21:06:23
回复 删除
大佬,大佬,srand(10)是什么意思
#2 s64511518@2018-08-10 08:45:37
回复 删除
回复 #1 guan1314:10这个参数代表种子 srand里面参数不同rand产生的随机数不同

如果不用srand函数 代码每次执行产生的随机数都是一样的 比如:第一次执行输出的随机数是1 2 3 4 5那么第二次执行的随机数还是 1 2 3 4 5 通过改变srand的实参改变rand函数产生的随机数

#3 s64511518@2018-08-10 08:46:02
回复 删除
一般是都是srand(time(0))这么使用
#4 15503430807@2018-12-09 04:38:43
回复 删除
这里srand,rand都不让用呀,我的没通过就是这个问题。
查看更多回复
提交回复