c语言杀人游戏算法,C语言小实战开发——杀人游戏(本节涉及宏定义)

2023-10-09 20:30

本文主要是介绍c语言杀人游戏算法,C语言小实战开发——杀人游戏(本节涉及宏定义),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

游戏流程

1.请输入参与人数:7

2.编号:1 2 3 4 5 6 7

3.请输入杀人编号:3

4.请输出被杀者的编号

#include

#define KILLED 0//宏定义(取别名) ;给特殊的额字符串特定的意义

int main(){

int num[50] = {};//用数组保存每个人的编号

int count;//保存输入的人数

int killNum;//被杀人的编号

printf("请输入参与人数:");

scanf("%d",&count);

//开始编号

for(int i= 0;i < count;i++) {

num[i] = i+1;

}

printf("请输入杀人的编号:");

scanf("%d",&killNum);

//开始游戏(可采用向后移的方法,但会增加负担)

int current = 0;//记录当前报数的位置

int totalkilled = 0;//记录当前死亡人数

for(int i =0;i < count;i++){

//i指向的这个人开始报数

if(num[i] !=KILLED){//注意

current++;

}

//判断当前编号是不是死亡编号

if(current == killNum) {

printf("%d",num[i]);

//杀掉

num[i] = KILLED;

//还原

current = 0;

totalkilled++;

if(totalkilled == count-1){

break;

}

}

//判断是否到末尾了

if(i == count-1) {

i = -1;

}

}

return 0;

}

输出结果

819fad53d0fa

宏定义

#define命令是C语言中一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被替换的字符串称为替换文本。

1.可以增强阅读性

2.可操作性强(改变0为其他,可以为任何取别名)

这篇关于c语言杀人游戏算法,C语言小实战开发——杀人游戏(本节涉及宏定义)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/175358

相关文章

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印