C 语言实例 – 约瑟夫生者死者小游戏
C 语言实例 - 约瑟夫生者死者小游戏
30 个人在一条船上,超载,需要 15 人下船。
于是人们排成一队,排队的位置即为他们的编号。
报数,从 1 开始,数到 9 的人下船。
如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?
实例
#include<stdio.h>
int c = 0;
int i = 1;
int j = 0;
int a[30] = { 0 };
int b[30] = { 0 };
int main() {
while (i<=31) {
if (i == 31) {
i = 1;
} else if (c == 15) {
break;
} else {
if (b[i] != 0) {
i++;
continue;
} else {
j++;
if (j != 9) {
i++;
continue;
} else {
b[i] = 1;
a[i] = j;
j = 0;
printf("第%d号下船了\n", i);
i++;
c++;
}
}
}
}
}
执行以上实例,输出结果为:
第9号下船了 第18号下船了 第27号下船了 第6号下船了 第16号下船了 第26号下船了 第7号下船了 第19号下船了 第30号下船了 第12号下船了 第24号下船了 第8号下船了 第22号下船了 第5号下船了 第23号下船了
相关文章
- C++中的字符串编码怎么处理
- C++学习之如何进行内存资源管理
- C++学习之智能指针中的unique_ptr与shared_ptr
- C++手撸智能指针的教程分享
- C语言常用占位符的使用小结
- C++ OpenMP简单介绍
- 一文弄懂C语言EOF
- C++数据封装以及定义结构的详细讲解
- 一文详解C语言操作符
- Visual Studio 远程调试步骤
- 如何使用签名保证ASP.NET MVC OR WEBAPI的接口安全
- .net数据库操作框架SqlSugar的简单入门
- 详解.Net缓存之MemoryCahe
- asp.net core MVC之实现基于token的认证
- .Net集成敏感词组件的步骤
- .Net Core导入千万级数据至Mysql数据库的实现方法
- .Net的GC垃圾回收原理及实现
- ASP.NET Core文件压缩常见使用误区(最佳实践)
- .NET Core结合Nacos实现配置加解密的方法
- asp.net core为IHttpClientFactory添加动态命名配置