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

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2