用C编写的一个双色球游戏
如有不足之处,还请大神指正不吝赐教!!!原码如下:
/***************************************************
程序:一个简单的双色球游戏
功能:从1~33随机生成6个红球和从1~16中随机生成一个蓝球
****************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i, j, temp;
int ball;
int len = sizeof(ball) / sizeof(ball);
srand((unsigned int)time(NULL));
//从1~33中随机生成6个数字,并去除重复
for (i = 0; i < len; i++)
{
ball = rand() % 33 + 1;
for (j = 0; j < i; j++)
{
if (ball == ball)
{
i--;
continue;
}
}
}
//对随机生成的6个数字进行升序排序
for (i = 0; i < len; i++)
{
for (j = 0; j < len - i - 1; j++)
{
if (ball > ball)
{
temp = ball;
ball = ball;
ball = temp;
}
}
}
//打印生成的红球和蓝球
for (i = 0; i < len; i++)
{
printf("%d", ball);
}
printf("+%d\n", rand() % 16 + 1);
return 0;
} 中大奖后必有重谢! 本帖最后由 0衰衰0 于 2020-10-2 18:59 编辑
没用过c,但是代码是相通的,c没有直接不重复随机的函数吗?没有的话随机生成的数给他多一点,然后去重取前6个,这样子可以避免循环 是不是每次测试启动后结果都一样 silverkey 发表于 2020-10-2 19:01
是不是每次测试启动后结果都一样
这个不一样 0衰衰0 发表于 2020-10-2 18:58
没用过c,但是代码是相通的,c没有直接不重复随机的函数吗?没有的话随机生成的数给他多一点,然后去重取前 ...
我是刚开始学C的,那个直接不重复的函数我也不知道有没有 sergin 发表于 2020-10-2 19:23
我是刚开始学C的,那个直接不重复的函数我也不知道有没有
加油骚年,一开始学都特别喜欢for循环,慢慢就学会精简了 去除重复 随机生成的数
if (ball == ball)
{
i--;
continue;
} 收藏一下 支持(虽然看不懂)
页:
[1]