博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言实现不重复随机序列(源码)
阅读量:7200 次
发布时间:2019-06-29

本文共 860 字,大约阅读时间需要 2 分钟。

今天有个朋友需要用C语言实现显示0-100的随机序列,并且要大于50的显示1,小于50的显示0。

俺觉得无非就是rand()函数的使用呗,于是抽空写一下实现,本机测试无误。需要的朋友可以直接拷贝运行。

那个向我提问的朋友也可以看看,并提出下一步设计。俺也给出了详细的注释。程序很短,没有考虑性能,仅以实现

为目的。好久没发贴了,估计近期都会少发帖,因为手头的两个网站要快些做。

 

#include 
<
stdlib.h
>
 
//
标准工具库,要用到其中的rand() 
#include 
<
stdio.h
>
 
#include
<
conio.h
>
 
#include 
<
time.h
>
 
//
时间库,要用到里面的时间来做随机数的种子 
int
 main(){
//
循环变量 
int
 i;
int
 j;
int
 t;
//
随机变量 
int
 k;
//
数组初始化 
int
 sy[
100
]
=
{};
for
(t
=
0
;t
<=
100
;t
++
){
        sy[t]
=
t;
}
//
获得随机种子 
srand(time(NULL));
printf(
"
将0-100的数随机排列,并且大于50的数显示1,小于50的数显示0的程序\n\n
"
);
for
(i
=
0
; i
<
100
; i
++
){
         k
=
rand()
%
(
100
-
i); 
         
if
(sy[k]
>
50
)
             printf(
"
%d\n
"
,
1
);
         
else
             printf(
"
%d\n
"
,
0
);
         
//
数组中随机位置后的所有数整体前移一位,覆盖该随机数,防止数列重复 
         
for
(j
=
k;j
<
100
;j
++
)
             sy[j]
=
sy[j
+
1
]; 
getch(); 
return
 
0

 本文转自施杨博客园博客,原文链接:http://www.cnblogs.com/shiyangxt/archive/2009/03/18/1415736.html,如需转载请自行联系原作者

你可能感兴趣的文章
在.net中读写config文件的各种方法(自定义config节点)
查看>>
MyBatis简介与配置MyBatis+Spring+MySql
查看>>
Oracle Parameter使用
查看>>
最小公共子序列的和
查看>>
老赵面试题参考答案(一)《转》
查看>>
360产品无法安装,此程序被组策略阻止
查看>>
Loadrunner检查点使用总结
查看>>
hdfs源码分析第一弹
查看>>
教你如何剖析源码
查看>>
Oracle 事务
查看>>
springboot(九):定时任务
查看>>
Java实现二维码技术探讨。
查看>>
java -cp 命令 java jar 命令和 hadoop jar 命令
查看>>
row format delimited fields terminated by ','
查看>>
UDP转TCP隧道工具udptunnel
查看>>
Unable to launch the IIS Express Web server
查看>>
android使用xfire webservice框架远程对sqlserver操作(包括增删改查)的实例!!已在真机上试验通过...
查看>>
c++ 可变参数用法
查看>>
[转]Android自定义Adapter的ListView的思路及代码
查看>>
Altium Designer 基本封装
查看>>