要求将下列名单随机分组:分组要求,随机选择4个人组成一组

输出结果:4个人一行进行输出,每行代表一个组
例如:
许新华 王玉恒 陶小康 王娇娇
盛 开 郑 丹 陈 芳 张 龙
陈梦玉 祝秋培 吴赟鹏 胡光兴
曾从威 边金鹏 陈逸伦 王 琦
刘加封 徐煜清 姚 笛 孔海宇
孙凌霄 王 鹏 王 虎 李 峰
周 波 蒋恺均 徐小蕤 缪 峰
刘江涛 陈 喆 方文倩 崔雅倩
陈 程 陈振宇 李 森 陈志辉
李鸿飞

#include <stdio.h>

int main()
{
	char *name[]={"许新华","王玉恒","陶小康","王娇娇",
				  "盛  开","郑  丹","陈  芳","张  龙",
				  "陈梦玉","祝秋培","吴赟鹏","胡光兴",
				  "曾从威","边金鹏","陈逸伦","王  琦",
				  "刘加封","徐煜清","姚  笛","孔海宇",
				  "孙凌霄","王  鹏","王  虎","李  峰",
			  	  "周  波","蒋恺均","徐小蕤","缪  峰",
				  "刘江涛","陈  喆","方文倩","崔雅倩",
				  "陈  程","陈振宇","李  森","陈志辉",
				  "李鸿飞"};
	
	int len = sizeof(name)/sizeof(name[0]);
	
	srand(time(NULL));
	
	int tmp = 0;
	int i;
	for(i = 0; i < len; i++)
	{
		int randindex = rand()%len;
		char *p = name[randindex];
		name[randindex] = name[tmp];
		name[tmp] = p;
		tmp++;
	}
	
	for(i = 0; i < len; i++)
	{
		printf("%-20s", name[i]);
		
		if(3 == i%4)
			printf("\n");
	}
	printf("\n");
	
	return 0;
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来回答你的问题。首先,我需要明确一下你的问题:你想让我帮你写一个 C 语言程序,用于编写 24 点游戏计分,以时间限制设置难度,让玩家选择,扑克牌随机生成 4 个数字,最后计算得分,是这样吗? 如果是的话,那么这个问题涉及到多个方面,需要进行详细的讨论和解答。下面是我对这个问题的一些解答: 1. 什么是 24 点游戏? 24 点游戏是一种纸牌游戏,通常由 4 张扑克牌组成,每张扑克牌有一个点数,玩家需要通过加减乘除等运算,将这 4 张扑克牌的点数组合成 24 点。 2. 如何用 C 语言实现 24 点游戏计分? 要实现 24 点游戏计分,我们需要进行如下步骤: - 随机生成 4 个扑克牌的点数。 - 让玩家进行加减乘除等运算,将这 4 个扑克牌的点数组合成 24 点。 - 根据玩家的答案和规定的时间限制,计算得分。 下面是一个简单的 C 语言程序,用于实现 24 点游戏计分: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int a, b, c, d; // 4 张扑克牌的点数 int ans; // 玩家的答案 int score; // 得分 time_t start, end; // 开始时间和结束时间 srand(time(NULL)); // 初始化随机数生成器 // 随机生成 4 个扑克牌的点数 a = rand() % 13 + 1; b = rand() % 13 + 1; c = rand() % 13 + 1; d = rand() % 13 + 1; printf("请用加减乘除等运算,将下列 4 张扑克牌的点数组合成 24 点:\n"); printf("%d %d %d %d\n", a, b, c, d); // 记录开始时间 start = time(NULL); // 等待玩家输入答案 scanf("%d", &ans); // 记录结束时间 end = time(NULL); // 计算得分 score = (ans == 24) ? (end - start) : 0; printf("你的得分为:%d\n", score); return 0; } ``` 以上程序中,我们使用了 srand() 函数来初始化随机数生成器,然后使用 rand() 函数来随机生成 4 个扑克牌的点数。接着,我们让玩家进行加减乘除等运算,将这 4 个扑克牌的点数组合成 24 点,并记录玩家的答案和结束时间。最后,根据玩家的答案和规定的时间限制,计算得分。 3. 如何设置时间限制和难度选择? 要设置时间限制和难度选择,我们可以使用如下代码: ```c int timeout; // 时间限制 int level; // 难度级别 printf("请选择难度级别(1-3):\n"); scanf("%d", &level); switch (level) { case 1: timeout = 30; // 初级难度,时间限制为 30 秒 break; case 2: timeout = 20; // 中级难度,时间限制为 20 秒 break; case 3: timeout = 10; // 高级难度,时间限制为 10 秒 break; default: printf("输入错误!\n"); return 1; } printf("你选择的难度级别为:%d\n", level); printf("你的时间限制为:%d 秒\n", timeout); ``` 以上代码中,我们使用了 switch 语句来根据玩家选择的难度级别来设置时间限制。初级难度的时间限制为 30 秒,中级难度的时间限制为 20 秒,高级难度的时间限制为 10 秒。如果玩家输入的难度级别不在 1 到 3 的范围内,程序会输出错误提示信息并退出。 4. 如何随机生成扑克牌的点数? 要随机生成扑克牌的点数,我们可以使用 rand() 函数,它可以生成一个介于 0 和 RAND_MAX 之间的随机整数。因为我们需要生成 1 到 13 之间的随机整数,所以可以使用如下代码来实现: ```c a = rand() % 13 + 1; ``` 以上代码中,我们首先使用 rand() 函数生成一个介于 0 和 RAND_MAX 之间的随机整数,然后使用 % 运算符将其限制在 0 到 12 的范围内,最后加上 1,就可以生成一个介于 1 和 13 之间的随机整数了。 5. 总结 综上所述,要用 C 语言编写 24 点游戏计分程序,我们需要实现如下功能: - 随机生成 4 个扑克牌的点数。 - 让玩家进行加减乘除等运算,将这 4 个扑克牌的点数组合成 24 点。 - 根据玩家的答案和规定的时间限制,计算得分。 - 设置时间限制和难度选择。 - 随机生成扑克牌的点数。 希望我的回答对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值