这些题目都是大一刚入学时学习C语言的课后作业,在OJ上看到还保留着,就都整理下发出来吧......(只有题和代码)

【问题描述】要从n只猴子中选出一位大王。它们决定使用下面的方法:

n只猴子围成一圈,从1到n顺序编号。从第q只猴子开始,从1到m报数,凡报到m的猴子退出竞选,下一次又从退出的那只猴子的下一只开始从1到m报数,直至剩下的最后一只为大王。请问最后哪只猴子被选为大王。

【输入形式】控制台输入三个整数n,m,q。

【输出形式】输出最后选为大王的猴子编号。

【样例输入】

7 4 3

【样例输出】

4

【样例说明】输入整数n = 7,m = 4,n = 3,输出4

【评分标准】本题要求输出最后被选为大王的猴子编号,完全正确得20分,每个测试点4分。上传C语言文件名为monkey.c。

【代码】

还记得,这道题折磨我到凌晨不知道几点...当时的逻辑似乎就是绕不过来,但是想通后就觉得很简单了。我已经有写过约瑟夫问题,感兴趣的主页搜索即可。

下面是代码:

#include //选个鬼哦,头疼

int a[5201314];

int main()

{

int c_k(int n,int m,int q);

int n,m,q;

scanf("%d %d %d",&n,&m,&q);

printf("%d",c_k(n,m,q));

return 0;

}

int c_k(int n,int m,int q)

{

int i;

int sum=0;//累加数sum

int count=n; //儿子个数赋初值

for(i=0;i

i=q-1;//从第q个猴子开始数

while(i<=n)

{

if(i==n)i=0;//哈哈哈哈哈哈哈哈哈哈哈哈,看不懂吧

sum+=a[i];

if(sum==m)

{

sum=a[i]=0;//淘汰(给该数组元素赋值,相当于带上标记

count-=1;

if (count==1) break;

}

i++;

}

for(i=0;i

if(a[i]!=0)break;//找到就跳出来

return (i+1);//返回

}

原先代码有些注释实在不雅。。我就删除了。

PS:由于当时刚学C语言,很多代码显得很稚嫩...需要的人见谅...

猴子选大王c语言课程设计,【C/C++】猴子选大王相关推荐

  1. C语言课程设计选哪个,C语言课程设计选题及要求.docx

    C语言课程设计题目 课程设计是对学生的一种全面综合训练, 是与课堂听讲. 自学和练习相辅相 成的.必不可少的一个教学环节. 通常,课程设计中的问题比平时的习题复杂的 多,也更接近实际. 课程设计着眼于 ...

  2. c语言课程设计电影选座,C语言课程设计电影院座位分配(1).doc

    PAGE .. .. 电影院座位分配 一.目的 通过课程设计,加深对<C语言程序设计>课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形.实型.字符型.指针 ...

  3. [置顶] 我的程序员之路(4)---C语言课程设计

    我们学院是很重视实践,所以每学期末都有专业课的课程设计,说简单就是用你所学的语言编一个小应用.软件工程和c语言都有课程设计,其实软件工程有点理论.都是找个系统或网站在分析,写网站或系统的过程,但是不编 ...

  4. c语言选择菜单程序设计,c语言课程设计报告-- 使用菜单选择趣味程序.doc

    c语言课程设计报告-- 使用菜单选择趣味程序 青岛农业大学 课程设计报告 题 目: 使用菜单选择趣味程序 姓 名: 杨丽娜 学 院: 理学与信息科学学院 专 业: 通信工程 班 级: 2班 学 号: ...

  5. c语言词典课程设计报告,C语言课程设计英语词典排版系统

    <C语言课程设计英语词典排版系统>由会员分享,可在线阅读,更多相关<C语言课程设计英语词典排版系统(21页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计院系:姓名:学号: ...

  6. c语言编写词库_C语言课程设计--电子生词库软件

    C语言课程设计--电子生词库软件 程序设计基础实训任务书程序设计基础实训任务书 题目电子生词库软件 学生姓名 学号 班级 题目类型软件工程(R) 指导教师 一.设计目的一.设计目的 1.进一步掌握和利 ...

  7. c语言课程设计目的及要求,C语言课程设计目及要求.doc

    C语言课程设计目及要求 C语言课程设计 课程设计要求 课程设计时间及安排 序号课时内容备注1第1次 理论知识讲解2第2次理论,选题,各班班长汇总选题结果(注意协调,每班同一个题目不超过2组,每组不超过 ...

  8. c语言程序设计书店销售管理系统,C语言课程设计-书店管理系统

    <C语言课程设计-书店管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计-书店管理系统(25页珍藏版)>请在人人文库网上搜索. 1.计算机程序设计计算机程序设计(C(C ...

  9. 大一c语言课程设计答辩ppt,c语言课程设计讲解内容图文.ppt

    c语言课程设计讲解内容图文 一.课程设计的目的与要求 1.教学目的 本课程设计是学生学习完<C语言程序设计>课程后,进行的一次全面的综合训练,通过课程设计,更好地掌握使用C语言进行程序设计 ...

最新文章

  1. MySQL笔记9:内连接、左连接、右连接以及全连接查询
  2. matlab把图片转为base64
  3. 纸筒制作机器人_5个万圣节小手工,带孩子一起动手制作,简单又有趣!
  4. MYSQL增量备份和全量备份脚本
  5. Day9 深度学习入门
  6. 【Elasticsearch】Meltdown对Elasticsearch性能的影响
  7. for语句嵌套执行顺序_Python基础教程(四):循环语句
  8. java基础练习题(含答案共39道)-语言基础篇
  9. CImage类进行图像处理1(基础篇)
  10. 使用ACR122U NFC读卡器对M1卡进行读写操作(可以读写中文)
  11. 黑苹果 macos 教程
  12. 虚拟机安装与双系统(win10+ubuntu)安装及其他
  13. 十五至尊图(第六版)
  14. 百度(杭州)创新中心人工智能产业论坛落幕,看AI如何引发行业革命
  15. 性能服务器漫画免费下拉式,奇妙漫画免费漫画
  16. redhat 下 oracle 10G RAC 集群 详细安装
  17. 【树莓派C语言开发】实验01:双色LED
  18. 基础九大字段改造,解除强依赖数据库设计
  19. 蓝桥杯嵌入式(G4系列):RTC时钟
  20. EJBCA证书平台-管理员及用户使用指南

热门文章

  1. java基础---IO转换流
  2. leetcode 797. All Paths From Source to Target | 797. 所有可能的路径(回溯法)
  3. 面试必会系列 - 1.2 Java 集合,源码讲解
  4. 【PAT甲级 删除字符串中重复字母】1084 Broken Keyboard (20 分) Java 全部AC
  5. 【Java Lambda表达式】Lambda表达式详解、Lambda表达式的等效使用方式、多线程
  6. Hive体系结构(四)注意事项与扩展特性
  7. 【MyBatis】MyBatis分页插件PageHelper的使用
  8. Effectice Java之始终覆盖toString(十)
  9. 蓝桥杯 ADV-205 算法提高 拿糖果
  10. 10行代码AC——L1-018 大笨钟 (10分)(~解题报告~)