C语言实现抽签小功能

相信大家都玩过微信小程序抽签的经历,现在我们就用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;
}

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: 好的,以下是一个简单的C语言实现抽签小程序的示例: ``` #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int num, randNum; srand(time(NULL)); // 使用当前时间作为随机数种子 printf("请输入抽签的总人数:"); scanf("%d", &num); if (num <= 0) { printf("请输入一个大于0的正整数!\n"); return 0; } randNum = rand() % num + 1; // 生成1到num之间的随机数 printf("恭喜第 %d 号同学中奖了!\n", randNum); return 0; } ``` 这个程序首先让用户输入抽签的总人数,然后判断输入是否合法(即大于0),接着使用当前时间作为随机数种子生成一个1到num之间的随机数,最后输出中奖的同学的编号。请注意,这只是一个简单的示例,实际上抽签程序的实现方式可能有很多种,具体实现方法取决于具体需求。 ### 回答2: 抽签是一种常见的游戏方式,可以用C语言实现一个简单的抽签小程序。以下是一个示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int num1, num2, num3; // 使用系统时间作为随机数的种子 srand(time(NULL)); // 生成3个随机数 num1 = rand() % 20 + 1; num2 = rand() % 20 + 1; num3 = rand() % 20 + 1; // 输出抽签结果 printf("抽签结果为:%d、%d、%d\n", num1, num2, num3); return 0; } ``` 以上代码中,首先包含了几个必要的头文件。然后使用`srand`函数设置随机数的种子,这里使用系统时间。通过`rand`函数生成3个1到20之间的随机数,并分别赋值给`num1`、`num2`和`num3`这三个变量。最后使用`printf`函数输出抽签结果。 这个抽签小程序可以随机生成抽签结果,每次运行输出的结果都不同。如果需要修改生成随机数的范围,只需修改`rand`函数中的参数即可。这个程序只是一个简单的示例,可以根据实际需求进行修改和扩展。 ### 回答3: 抽签小程序是一个很简单的应用,可以用C语言很轻松地实现。下面我来介绍一个基本的抽签小程序的实现思路。 首先,我们可以定义一个固定大小的数组来存储抽签的内容,比如10个元素的字符数组,每个元素表示一个抽签的内容。 然后,我们可以使用随机数生成函数rand()来随机选择一个元素作为被抽中的抽签内容。为了保证每次运行程序都能得到不同的结果,我们可以使用srand()函数对随机数发生器进行初始化,以当前时间作为种子。 接着,我们可以设计一个简单的用户界面,让用户输入一个数字,表示他想要抽取多少次抽签。然后,程序会循环执行相应次数的抽签操作,并将抽中的结果打印出来。 最后,我们可以使用循环结构来实现多次抽签,每次抽签后将抽中的结果从数组中删除,避免被重复抽中。 下面是一个简单的实现示例: #include <stdio.h> #include <stdlib.h> #include <time.h> #define NUM_OF_LUCKY_DRAW 10 int main() { // 初始化随机数发生器 srand(time(NULL)); // 定义抽签内容数组 char luckyDraw[NUM_OF_LUCKY_DRAW] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}; // 定义用户输入变量 int drawCount; // 提示用户输入抽签次数 printf("请输入抽签次数:"); scanf("%d", &drawCount); // 执行抽签 for (int i = 0; i < drawCount; i++) { // 随机生成一个抽签索引 int luckyIndex = rand() % NUM_OF_LUCKY_DRAW; // 获取抽签结果 char luckyChar = luckyDraw[luckyIndex]; // 打印抽签结果 printf("第%d次抽签结果:%c\n", i + 1, luckyChar); // 将抽中的抽签从数组中删除 for (int j = luckyIndex; j < NUM_OF_LUCKY_DRAW - 1; j++) { luckyDraw[j] = luckyDraw[j + 1]; } NUM_OF_LUCKY_DRAW--; } return 0; } 上述代码实现了一个简单的抽签小程序,用户可以输入抽签的次数,程序会随机抽签并将结果打印出来,保证每次抽签不重复。当抽签次数达到总抽签内容数时,程序会停止执行。可根据需要调整抽签内容的个数和抽签的次数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天雨~流芳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值