#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 双色球彩票
//电脑自动生成双色球
void CreateBall(int arr[]);
//打印双色球
void PrintBall(int arr[]);
//冒泡排序
void ButtleSort(int arr[], int length);
//判断是否中奖
void IsWin(int user[],int computer[]);
int main()
{
while (1) {
//分别表示用户和电脑的球号
int user[7], computer[7];
printf(" ---------------------------------- \n");
printf("| |\n");
printf("| 双色球彩票系统 |\n");
printf("|游戏规则: |\n");
printf("| 红球:(1->33)任选6个红球 |\n");
printf("| 蓝球:(1->16)任选1个蓝球 |\n");
printf("| |\n");
printf(" ---------------------------------- \n");
printf("请您先选择6个红球(1->33重复):\n");
for (int i = 0; i < 6; i++)
{
scanf("%d", &user[i]);
}
printf("请您选择1个蓝球(1->16):\n");
scanf("%d", &user[6]);
//打印用户输入的双色球
printf("\n您选择的双色球为:\n");
PrintBall(user);
//电脑自动生成
CreateBall(computer);
//打印开奖结果
printf("\n开奖结果为:\n");
PrintBall(computer);
printf("\n");
IsWin(user, computer);
getchar();
}
return 0;
}
//电脑自动生成双色球
void CreateBall(int arr[])
{
//对随机数播种
srand((unsigned int)time(NULL));
int flag = 0; //避免重复
//先生成6个红球
for (int i = 0; i < 6; i++)
{
arr[i] = rand() % 33 + 1;
for (int j = 0; j < i; j++)
{
if (arr[i] == arr[j])
{
//标记一下
flag = 1;
break;
}
}
if (flag == 1)
{
i--;
}
}
//在生成1个蓝球
arr[6] = rand() % 16 + 1;
}
//打印双色球
void PrintBall(int arr[])
{
//冒泡排序
ButtleSort(arr,6);
//先打印红球
printf("\t红球:");
for (int i = 0; i < 6; i++)
{
printf("\t%d",arr[i]);
}
printf("\t蓝球:%d\n",arr[6]);
}
//冒泡排序
void ButtleSort(int arr[], int length)
{
for (int i = 0; i < length; i++)
{
for (int j = 0; j < length - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
//判断是否中奖
void IsWin(int user[], int computer[])
{
int red = 0, blue = 0; //红球的相同个数和蓝球的相同个数
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
if (computer[j] == user[i])
{
red++;
}
}
}
if (user[6] == computer[6])
blue++;
//一等奖 6+1
if (red == 6 && blue == 1)
{
printf("恭喜您,中了一等奖.\n");
}
//二等奖 6+1
else if (red == 6 && blue == 0)
{
printf("恭喜您,中了二等奖.\n");
}
//三等奖 5+1
else if (red == 5 && blue == 1)
{
printf("恭喜您,中了三等奖.\n");
}
//四等奖 5+0,4+1
else if ((red == 5 && blue == 0) || (red == 4 && blue == 1))
{
printf("恭喜您,中了四等奖.\n");
}
//五等奖 3+1,4+0
else if ((red == 4 && blue == 0) || (red == 3 && blue == 1))
{
printf("恭喜您,中了五等奖.\n");
}
//六等奖 2+1,1+1,0+1
else if ((red == 2 && blue == 1) || (red == 1 && blue == 1) || (red == 0 && blue == 1))
{
printf("恭喜您,中了六等奖.\n");
}
else
{
printf("很遗憾,大奖与您擦肩而过,感谢您为中国福利事业做出贡献.\n");
}
}
C/C++项目开发:双色球彩票系统!C语言告诉你中奖并不是偶然!
最新推荐文章于 2024-05-19 13:18:10 发布