C语言实现不重复随机序列(源码)
2009-03-18 18:36
225 查看
今天有个朋友需要用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;
}
俺觉得无非就是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;
}
相关文章推荐
- 堆排序算法的C语言和Python版本源码实现
- C语言实现的ls命令源码分享
- 关于C++类库KYLib: 用C语言实现平衡二叉树(AVL tree)的源码
- C语言利用for循环实现1,2,3,4这四个整数互不相同且不重复的三位数
- 一种用C语言实现的打印程序源码的方法
- Windows下使用C语言实现Ping的源码
- C语言标准库 qsort bsearch 源码实现
- C语言中strlen(),strcmp(),strcat()的源码实现
- SHA512/384 原理及C语言实现(附源码)
- 用C语言实现对bmp格式图片打码(附源码)
- 线性表的顺序存储结构(c语言源码实现)
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- C语言源码实现俄罗斯方块
- HashSet实现不重复储值原理-附源码解析
- ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考(C#.NET通用权限管理系统组件源码组成部分)
- 我爱分享----百万商业圈C语言实现的倒排索引算法(含全部源码)
- C语言实现的一个程序只能运行一次,不能重复运行
- 一种C语言打桩函数的源码实现
- 深入剖析Android中init进程实现的C语言源码
- 用c语言实现读取配置文件源码