最近由于被小组开除,无事可做。同时大量阅读知乎话题《中了五千万你会立马离职吗》所以决定在去买彩票之前为有选择困难症的自己写一个自动彩票选号功能的代码,代码中有很多不足之处,希望大佬们多多指教。
代码中的功能参考了双色球和大乐透两种游戏的规则,不包含大乐透的追加投注玩法,不包含奖金计算功能,使用的是rand()线性生成随机数函数。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#define COLORBALL 1
#define LOTTO 2
void numcheck(int cnum, int max, int *buf)
{
while(buf[cnum] == buf[cnum-1])
{
buf[cnum] = rand()%max + 1;
}
}
// 规则:6个红 01-33 1个蓝 01-16
void colorball(void)
{
int i = 0;
int rednum[6] = {0};
for(; i<5; i++)
{
rednum[i] = rand()%33+1;
if(0 != i){
numcheck(i, 33, rednum);
}
}
printf("红: ");
for(i=0; i<5; i++)
{
// 增加对数组中数字重复性的检查
printf("%d ", rednum[i]);
}
printf("\n蓝: %d\n", rand()%16+1);
}
//规则:35选5 01-