用c语言实现从1~22中随机选取8个数,不能重复。

用c语言实现从1~22中随机选取8个数,不能重复。,第1张

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

main()

{    int i,j,a[8]

     srand(time(NULL))

 for(i=0i<8i++){

  a[i]=rand()%22+1

  for(j=0j<ij++)

     if(a[i]==a[j]) i--

 }

 for(i=0i<8i++)

  printf("%d ",a[i])

}

如图所示,望采纳。。。。。。

#include<stdio.h>

#include<stdlib.h>/*rand()函数的头文件*/

#define N 1000

/* rand()产生一个伪随机数*/

void main()

{

int i=0,j,a[N]={-1},flag

while(i<N)

{

flag = 1 + N * rand()/(RAND_MAX+1)/*rand()/RAND_MAX 该式表示所得到的是集合[0,1]中的随机数

若是使用rand()/(RAND_MAX+1) 则可得到集合[0,1)中的随机数

1000 * rand()/(RAND_MAX+1)可产生[0,1000),取整则是[0,999]中的随机数*/

j=0

for(j<ij++)

{

if(a[j] == flag) break //查找数组中是否已经有了随机产生的值,有则跳出循环,重新产生,无则存入数组

}

if(j>=i) {

a[j] = flag

i++

}

}

for(int k=0k<Nk++)

printf("%5d",a[k])

}

上面这个程序完全可以产生从1-1000的随机数,不信的话可以使用排序法查看所得结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6892311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存