#include <stdio.h>
#include <time.h>

static unsigned int y = 1U;

unsigned int rand_r(unsigned int *seedp)
{
    *seedp ^= (*seedp << 13);  //这里居然用异或和位移来实现,感觉很强大
    *seedp ^= (*seedp >> 17);
    *seedp ^= (*seedp << 5);
    return *seedp;
}

unsigned int rand(void)
{
    return rand_r(&y);
}

void srand(unsigned int seed)
{
    y = seed;
}

int main(void)
{
	int i  ;
	srand(time(NULL)) ;
	for(i = 0 ; i < 100 ; i++)
		printf("%d\n", rand() % 100) ;
}

执行结果是随机产生的100个数。

最新文章

  1. jquery的.html(),.text()和.val()方法
  2. 043. asp.net主题之一初识主题和皮肤
  3. Jquery在线引用地址
  4. 使用phpstorm和xdebug实现远程调试
  5. codeforces 687D Dividing Kingdom II 带权并查集(dsu)
  6. Google Map 自定义 infowindow
  7. 消息推送之androidpn部署
  8. vue中组件之间的相互调用,及通用后台管理系统左侧菜单树的迭代生成
  9. 利用svg描边+css3实现边框逐渐消失小动画
  10. js 执行机制
  11. 牛客练习赛26—D xor序列 —线性基
  12. JsonLayout log4j2 json格式输出日志
  13. c#基础系列1---深入理解值类型和引用类型
  14. enumerate()用法
  15. Cron 表达式
  16. hibernate 02之helloworld
  17. pip install bs4安装失败
  18. FFTW3学习笔记3:FFTW 和 CUFFT 的使用对比
  19. Git配置非22端口,解决:ssh: connect to host xxx port 22: Connection timed out fatal: The remote end hung up unexpectedly
  20. http://www.cnblogs.com/ITtangtang/archive/2012/05/21/2511749.html

热门文章

  1. kafka简单回顾
  2. delphi 线程教学第四节:多线程类的改进
  3. C++笔记十二:C++对C的扩展——struct关键字类型增强
  4. 亲密接触Redis-第三天(Redis的Load Balance)
  5. Android-Chart
  6. Android 实现串口的移植
  7. Dynamics CRM2016 在实体命名时需要注意的事项
  8. Android Topeka介绍
  9. 关于[[NSNotificationCenter defaultCenter] addObserver不remove后续又收到通知crash问题
  10. C语言诠释--为什么内存是线性分布的。