彩票生成器
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://qq164587043.blog.51cto.com/261469/62353 |
昨天第一次去买彩票,七乐彩30选7,在选号码时费了些时间,就打算写个彩票号码生成工具。
刚刚写好的,代码如下:
#include <stdio.h>
#include <time.h> #include <stdlib.h> /*从1~30个数中选择7个数*/
#define MIN 1
#define MAX 30 #define NUM 7 int main()
{ int j = 0, k = 0, range = 0; range = MAX - MIN; srand((int)time(0)); //产生随机数种子 while(k<NUM) { j = MIN + (int)(range * rand() / RAND_MAX); printf("%d ",j); k++; } printf("\n"); return 0; } 顺便讲解下:
核心代码 j = MIN + (int)(range * rand() / RAND_MAX);可以分成4步骤,从里到外依次是:
(1)j = rand(); //得到一个0到RAND_MAX(32767)之间的数
(2)j /= RAND_MAX; //除以RAND_MAX产生一个0 - 1之间的教主
(3)j = (int)(range * j); //把校正值乘以所需要的范围值range,得到(MIN-1)~(MAX-1)即0~29之间的数
(4)j+=MIN; //把該值和要求最小值相加,使得到的值最终是在MIN~MAX即1~30范围内的 本文出自 “国产0与1” 博客,请务必保留此出处http://qq164587043.blog.51cto.com/261469/62353 本文出自 51CTO.COM技术博客 |


hello_world
博客统计信息
热门文章
最新评论
友情链接
