发布网友 发布时间:2022-04-20 17:50
共6个回答
懂视网 时间:2022-04-20 22:11
10个随机数不相同
热心网友 时间:2022-04-20 19:19
#include <stdio.h>追答这是带排序的版本:
#include
#include
#include
//产生 [a,b] 区间的随机数
#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))
#define N 10
void sort(int *x, int n)
{
int j, k, h, t;
for (h=n-1; h>0; h=k) /*循环到没有比较范围*/
{
for (j=0, k=0; j *(x+j+1)) /*大的放在后面,小的放到前面*/
{
t = *(x+j);
*(x+j) = *(x+j+1);
*(x+j+1) = t; /*完成交换*/
k = j; /*保存最后下沉的位置。这样k后面的都是排序排好了的。*/
}
}
}
}
void main()
{
int i=0, j;
int buf[N];
//用当前时间初始化随机数种子
srand( (unsigned)time(NULL) );
//生成N个不相同的随机数
while( i<N )
{
int r = RANDOM(1,20); //生成[1-20]区间的随机数
bool has=false;
for( j=0; j<i; ++j )
{
if( buf[j] == r ) //如果这个数已经有了,就设置标志
{
has = true;
break;
}
}
//如果这个数还没出现过,则记录
if( has==false )
buf[i++] = r;
}
//排序
sort( buf, N );
//输出
for( i=0; i<N; ++i )
printf( "%d ", buf[i] );
}
热心网友 时间:2022-04-20 20:37
#include <stdio.h>追答你修给了注释的部分嘛?还是什么情况,我运行生成的是10个,在你那儿怎么生成了20个?
热心网友 时间:2022-04-20 22:12
#include<stdio.h>热心网友 时间:2022-04-21 00:03
#include<stdio.h>
热心网友 时间:2022-04-21 02:11
红烧uushehehehsvsvvsvsbbb