今天同学们相约一起爬山游玩,为了更好的进行这场活动,大家准备推举 一个人作为出游的临时队长。为了体现合理公平,大家提出了一个比较有趣的 规则。所有人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的当选为队长。 请你通过编写程序,求出一组人中的队长是原来第几位同学。

思路:考察基础语法知识和数组的灵活运用;

将团队看做一个数组,一步一步分析

踩坑原因:1.count++,是先赋值后运算,和++count混淆;

2.index赋值问题,当count变为0以后,index一样计数,所以index的个数一直不变,不需要--

public class Pashan {public static void main(String[] args) {Scanner input = new Scanner(System.in);int n = input.nextInt();//首先定义一个数组,登山队人数就是数组长度//考虑三个变量。//1.数组长度leftNumber,每淘汰一名队员,leftNumber-1。//2.计数:index先给所有队员一个称号1,用于计数,每计一轮从新开始。//3.报数:count,每报一位自加1,当报到3时淘汰,赋值为零。int[]persons = new int[n];int leftNumber = persons.length;int index = 0;//计数int count = 0;//报数for (int i= 0;i<persons.length;i++){persons[i]=1;//先给所有人赋值称号1}while (leftNumber>1){//人数大于1游戏才能进行,知道淘汰至一人,结束游戏if (persons[index]==1){count++;//报数}if (count==3){//报到3退出游戏count=0;//退出游戏的赋值为0,下轮就不报数了persons[index]=0;//同理,下标也赋值为0leftNumber--;//数组长度减1}index++;//是先赋值后运算,不要和++count混淆;if (index==n){//一轮计数完毕,index=0;//重新计数//当count变为0不报数了,但index一样计数。//所以index的个数是一直不变的,不需要--}}for (int i= 0;i<persons.length;i++){//此处不要混淆,i是下标的值,i+1才是计数的值System.out.println("队长是原来的第"+(i+1)+"个队员");}}
}

专题教程——选队长游戏相关推荐

  1. 选队长游戏(Java)

    选队长游戏 任务概述 今天同学们相约一起爬山游玩,为了更好的进行这场活动,大家准备推举 一个人作为出游的临时队长.为了体现合理公平,大家提出了一个比较有趣的规则.所有人围成一圈,顺序排号.从第一个人开 ...

  2. 用Java数组实现选队长的游戏

    任务概述: 今天同学们相约一起爬山游玩,为了更好的进行这场活动,大家准备推举 一个人作为出游的临时队长.为了体现合理公平,大家提出了一个比较有趣的 规则.所有人围成一圈,顺序排号.从第一个人开始报数( ...

  3. 6-4 选队长 (10 分)

    6-4 选队长 (10 分) 小明最近喜欢玩一款新游戏.在该游戏中,需要组建队伍去完成任务以获取奖励.小明挑出了所有的队员(每个人能力不同),需要一个函数挑出队长(能力最强的队员). 函数接口定义: ...

  4. Unity 2D游戏开发教程之为游戏场景添加多个地面

    Unity 2D游戏开发教程之为游戏场景添加多个地面 为游戏场景添加多个地面 显然,只有一个地面的游戏场景太小了,根本不够精灵四处活动的.那么,本节就来介绍一种简单的方法,可以为游戏场景添加多个地面. ...

  5. 串口数据波形显示_【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传可飙到500KB/S...

    [专题教程第6期]SEGGER的J-Scope波形上位机软件,RTT模式波形上传速度可狂飙到500KB/S左右 说明: 1.在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示.通 ...

  6. c++解析csv 存入数组_Python读写csv文件专题教程(2)

    第275篇原创 上篇:Python读写csv文件专题教程(1) 2.3 通用解析框架 dtype 承接前文,test.csv读入后数据框如下: In [6]: df = pd.read_csv('te ...

  7. 【转】Qt串口通信专题教程

    查看以前的教程:Qt编写串口通信程序全程图文讲解 查看Wincom和Lincom介绍:Qt跨平台串口通信软件Wincom与Lincom 下载软件,文档和源码:资源下载 --------------20 ...

  8. 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器 DirectInput专场

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  9. mysql修改游戏元宝_页游源码【武斗乾坤】自带安装启动教程+元宝游戏数据修改教程+自由一键游戏启动服务端...

    页游源码[武斗乾坤]自带安装启动教程+元宝游戏数据修改教程+自由一键游戏启动服务端_站长下载 资源说明: 1.本资源为一键启动服务端,只需要安装好所需组件一键启动即可运行. 2.资源默认为单机架设,无 ...

最新文章

  1. Open Sans字体兼容问题解决办法[font-face]
  2. SQL server2000安装时被挂起的问题
  3. 雷林鹏分享:Redis 管道技术
  4. pthread_mutex_lock用法
  5. 查看mysql 内核_如何查看和更新数据库内核小版本
  6. Linux之Shell脚本的条件判断和函数
  7. LVM---逻辑盘卷管理
  8. 【剑指offer15.二进制中1的个数】——位操作(左移右移等)
  9. ASP.NET Core分布式项目实战(课程介绍,MVP,瀑布与敏捷)--学习笔记
  10. linux sqlserver 管理工具,Linux连接SqlServer的图形化工具SQuirrel
  11. 使用Python自由切分pdf文件提取任意页面
  12. Mysql查询语句练习题
  13. Apollo应用接入
  14. STM32电机库5.4开源注释单电阻霍尔 有感霍尔读取电角度 单电阻采样
  15. 高频谐振功率放大器仿真
  16. IE浏览器请求打开谷歌浏览器
  17. Excel/Word 插入图表 InvokeMember设置图表类型
  18. 万能分页显示上一页下一页
  19. 深信服AD应用交付管理维护
  20. Spring Cloud底层原理以及项目实战分析

热门文章

  1. IOS APP获取证书、打包、发布蒲公英详解
  2. 国际短信平台接口调用的方法步骤,简单5步快速教程
  3. C语言(字符串输入)
  4. 五大常用项目管理工具软件-也支持敏捷开发
  5. 不带头结点的单链表c语言,数据结构:C语言实现----不带头结点单链表总结
  6. 移动端Web开发(一)移动端开发的基本概念
  7. 你好,我是计算机组成原理(计算机组成原理1)
  8. CSharp(C#)语言_第一章
  9. 23年 yolov5车辆识别+行人识别+车牌识别+车速检测代码(python)
  10. 苹果电脑MACbook Air快捷键大全