1、本程序使用c语言随机数以及冒泡排序,进行模拟双色球开奖
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
/*双色球代码
1、组成: 6个红球+1个篮球
2、规则:6个红球:数字在1到32之间(包含1和32),且6个数字不重复
1个篮球,数字在1到16之间 (数字可以和红球的数字重复)
*/
int main()
{
int arr[6]={0}; //得出的红球数字
int value=0; //随机中产生的数字
int j; //红球随机的个数
int i=0; //红球个数
int num; //排序中用于数据转移值
srand((size_t)time(NULL)); //随机数
for(i=0;i<6;i++) //随机产生一个数字
{
value = rand()%32+1; //产生1-32的数字
for(j=0;j<i;j++) //判断是否出现随机数
{
if(value==arr[j]) //判断随机出来的数字和已经产生出来的随机的对比,如果重复了需要重新再选取
{
i--; //随机产生数字重复,重新再随机
break; //跳出本次循环
}
}
if(i==j)
{
arr[i]=value;
}
}
//冒泡排序
for(i=0;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(arr[j]>arr[j+1])
{
num=arr[j];
arr[j]=arr[j+1];
arr[j+1]=num;
}
}
}
printf("红球:\t");
for(i=0;i<6;i++)
{
printf("%d\t",arr[i]); //打印红球数字
}
printf("\t蓝球:%d\r\n",rand()%16+1); //蓝球只需要直接随机然后打印出来
return 0;
}