第九周项目1 猴子选大王(数组版)

2024-01-15 11:38

本文主要是介绍第九周项目1 猴子选大王(数组版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


  1. 问题及代码:
  2. /* 
  3.  
  4. copyright (t) 2016,烟台大学计算机学院 
  5.  
  6. *All rights reserved. 
  7.  
  8. *文件名称:fangzhou.cpp 
  9.  
  10. *作者:吕方舟
  11.  
  12. *完成日期:2016年11月10日 
  13.  
  14. *版本号:v1.0 
  15.  
  16. *问题描述:一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,最后一只出圈的猴子为大王。输入m和n,输出猴子离开圈子的顺序,从中也可以看出最后为大王是几号猴子。  
  17.   要求采用数组作为存储结构完成。 
  18.  
  19. *输入描述:猴子数m与出圈报数n 
  20.  
  21. *程序输出:猴子离开圈子的顺序,以及最后为大王的猴子编号 
  22.  
  23. */  
  24. #include <stdio.h>  
    void findking(int m,int n)  
    {  int a[100];  int i,j,t;  for(i=0;i<m;i++)                       //m只猴子编号  a[i]=i+1;  t=0;                                   //首次报数的起始位置,并记录出圈猴子编号  printf("猴子出圈顺序为:\n");  for(i=m;i>=1;i--)  {  t=(t+n-1)%i;                       //出圈猴子编号  printf("%d ",a[t]);                //编号为t的猴子出圈  for(j=t+1;j<=i-1;j++)              //后面的元素前移一个位置  a[j-1]=a[j];  if(i==1)  printf("大王为%d\n",a[t]);  }  printf("\n");  
    }  
    int main()  
    {  int m,n;  printf("请输入猴子数m与出圈报数n:\n");  while(scanf("%d %d",&m,&n)!=EOF)  findking(m,n);  return 0;  
    } 
    运行结果:

  25. 知识点总结:
  26. 数组存储结构的应用。
  27. 学习心得:
  28. 之前用链表解决过这个问题,再次用数组解决感觉更简洁了。



这篇关于第九周项目1 猴子选大王(数组版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co