C语言抽签(抽奖)小程序

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define num 20
int main()
{
	srand((unsigned)time(NULL));
	//存储num个字符串,每个不超50
	int choose = 0;
	int new = 0;
	do
	{
		char s[num][50] = { 0 };
		//输入数据(可以是字符串)
		for (int i = 0; i < num; i++)
		{
			printf("请输入参与抽奖的人:\n");
			scanf("%s", s[i]);
		}
		choose = rand() % num;
		//打印数据
		printf("中奖者为:%s\n", s[choose]);
		printf("是否需要重新抽奖,输入1为重抽,0为结束\n");
		scanf("%d", &new);
		if(new==1)
			system("cls");
	} 
	while (new);
	system("pause");
	return 0;
}

说明

1.本抽奖每次固定20人参加,如需修改人数请在.c代码上修改num的数值
2.抽奖每输入一个参与者姓名需回车确认一下,再输入下一个人的名字,姓名最长50个字符
3.本程序公平公正

2.0版本

ps:可以指定抽奖人数

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
	srand((unsigned)time(NULL));
	//存储num个字符串,每个不超50
	int choose = 0;
	int new = 0;
	int num = 0;
	do
	{
		printf("请输入参与抽奖的人数:\n");
		scanf("%d", &num);
		char s[50][50] = { 0 };
		//输入数据(可以是字符串)
		for (int i = 0; i < num; i++)
		{
			
				printf("请输入参与者姓名:\n");
				scanf("%s", s[i]);
			
		}
		choose = rand() % num;
		//打印数据
		printf("中奖者为:%s\n", s[choose]);
		printf("是否需要重新抽奖,输入1为重抽,0为结束\n");
		scanf("%d", &new);
		if(new==1)
			system("cls");
	} 
	while (new);
	system("pause");
	return 0;
}

  • 6
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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; } 上述代码实现了一个简单的抽签小程序,用户可以输入抽签的次数,程序会随机抽签并将结果打印出来,保证每次抽签不重复。当抽签次数达到总抽签内容数时,程序会停止执行。可根据需要调整抽签内容的个数和抽签的次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值