相信大家都玩过微信小程序抽签的经历,现在我们就用C语言实现简单的抽签函数。
简单方便,思考难度不大,各位试试吧!
#include <stdio.h>
#include <time.h>
#include <Windows.h>
void print()
{
printf(" \n");
printf("-----按1开始抽签游戏----\n");
printf("----- 按0结束游戏 ----\n");
printf(" \n--->");
}
int main()
{
srand((unsigned int)time(NULL));
int arr[100];
int a = 0, i = 0; //a为要抽的号码个数,i循环
print();
int n; //输入菜单内容
while (scanf("%d", &n) != EOF)
{
if (n == 1)//进入游戏
{
printf("请输入要抽的号码的个数:");
scanf("%d", &a);
printf("请输入号码:\n");
for (i = 0; i < a; i++)
scanf("%d", &arr[i]);
printf("请输入要抽几个:");
int b = 0; //要抽的个数
scanf("%d", &b);
int output = 0;
int input = 0; //数组下标
int c = 0;//记录抽了几个
system("cls"); //清除屏幕
printf("抽签中.");
Sleep(1000); //延时函数
system("cls");
printf("抽签中..");
Sleep(1000);
system("cls");
printf("抽签中...");
Sleep(1000);
system("cls");
for (i = 1; i <= b; i++)
{
input = rand() % a; //生成随机数
if (arr[input] != 0) //判断抽到的数是否为零
{
c++;
printf("抽到的第%d个数为%d\n", c, arr[input]);
}
arr[input] = 0; //抽了的数字该为零
if (i != c)
{
i = c; //如果c不等于抽到的个数,i=c;再进入循环
}
}
Sleep(10000);
system("cls");
print();
}
if (n == 0)
{
break;
}
if (n != 1 && n != 0)
{
printf("输入错误,请重新输入\n");
print();
}
}
return 0;
}