某部队进行新兵队列训练,将新兵从1开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始1至2报数,凡报到2的出列,剩下的向小序号方向靠拢,再从头开始进行1至3报数,凡报到3的出列,剩下的向小序号方向靠拢,继续从头开始进行1至2报数,以后从头开始轮流进行1至2报数、1至3报数直到剩下的人数不超过三人为止。编写程序,输入数N为最开始的新兵人数(20 < N < 6000),输出剩下的新兵最初的编号。


输入样例:

21

输出样例:

1 7 19


#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>//动态分配
#include<memory.h>//数组复制,交换数组值
//思路:输入一个数字
//处理:生成一个数组,从一开始 ,进行while判断
//有两个for循环,每次for循环后判断人数是否不超过3人,if break
//每次for循环对数组都进行一次操作
int main()
{int total;//总人数scanf("%d", &total);int a[6000];//数组准备环节for (int i = 0; i < total; i++){a[i] = i + 1;}int a1[6000] = { 0 };int j = 0;//生成数组后剩余的人数//处理部分while (1){//1,2报数for (int i = 0; i < total; i++){if ((i+1) % 2 != 0){a1[j] = a[i];j++;}}total = j;memcpy(a, a1, sizeof(int)*j);//对循环后的数据进行判断,如果符合输出条件,就输出,如果不符合,就继续循环if (j <= 3){break;}//满足条件,退出else//不满足条件,就继续,并且数字清零{j = 0;}//1,3报数for (int i = 0; i < total; i++){if ((i + 1) % 3 != 0){a1[j] = a[i];j++;}}total = j;memcpy(a, a1, sizeof(int)*j);//对循环后的数据进行判断,如果符合输出条件,就输出,如果不符合,就继续循环if (j <= 3){break;}//满足条件,退出else//不满足条件,就继续,并且数字清零{j = 0;}}//输出部分for (int i = 0; i < j-1; i++){printf("%d ", a[i]);}printf("%d", a[j-1]);return 0;
}

第 13 周 / 编程题 - 新兵队列训练(选做)相关推荐

  1. c++primer plus 第13章 编程题第2题

    c++primer plus 第13章 编程题第2题 #pragma once #ifndef CD_H_ #define CD_H_ //base classclass Cd { private:c ...

  2. python123第七周测验编程题答案_Python第七周编程题

    Python123第七周编程题 1.打印输出附件文件的平均列数,计算方法如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫ ...

  3. Python123第六周编程题

    Python123中第六周编程题 1.获得用户输入的一个整数N,输出N中所出现不同数字的和.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬ ...

  4. 哈工大C语言程序设计精髓 第十一周编程题

    C语言程序设计精髓 第十一周 指针的孪生兄弟 从这一章开始难度才算是真正开始加大了,前面可以说都在过家家. 练兵区--编程题--不计入总分 1找出按字典顺序排在最前面的国名(4分) 题目内容: 输入5 ...

  5. 中国大学MOOC哈工大C语言程序设计第9周编程题在线测试

    中国大学MOOC哈工大C语言程序设计第9周编程题在线测试 1.重复数字检查(4分) 题目内容: 从键盘输入一个数,检查这个数中是否有重复出现的数字.如果这个数中有重复出现的数字,则显示"Re ...

  6. 吴恩达机器学习第二周编程题参考答案

    Andrew Ng机器学习第二周编程题参考答案 https://download.csdn.net/download/yhf2333/10718778 语言:Octave Tips: 1.记得使用si ...

  7. 面向对象程序设计——Java语言 第3周编程题 查找里程(10分)

    面向对象程序设计--Java语言 第3周编程题 查找里程(10分) 题目内容 下图为国内主要城市之间的公路里程: 你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程. ...

  8. 哈工大C语言程序设计精髓MOOC 第十三周编程题

    第13周--原来内存也可以这么玩,我是指针我怕谁 练兵区--编程题--不计入总分 2寻找最高分成绩的学生(4分) 题目内容: 下面程序的功能是用动态数组编程输入任意m个班学生(每班n个学生)的某门课的 ...

  9. XJTU大学计算机基础第七周编程题

    XJTU大学计算机基础第二周编程题目 1.题目描述: 编写程序,用户输入任意的3个小数:将这3个小数相加并显示结果:将结果按四舍五入方法转换成整数并显示. 输入输出格式: 输入:3个小数,空格分隔: ...

最新文章

  1. 2016-2017 ACM-ICPC CHINA-Final(EC-final) 题解(10 / 12)
  2. 干货|深度!“人工智能+制造”产业发展研究报告
  3. java基础学完就直接学ssm_java基础学习笔记3(SSM基础)
  4. 【转】解析.Net框架下的XML编程技术
  5. 期刊投稿状态_追踪期刊在线系统投稿状态(十七)
  6. 计算机重应用,装了一大堆应用,iPhone6会变重吗?
  7. Android 高斯模糊demo
  8. Python 绘制散点图
  9. hadoop基本思想与概念
  10. nginx 改变 缺省banner_Nginx隐藏服务器端各类信息的方法
  11. VS2019/MFC学习笔记之一(创建对话框工程并实现简单加法运算)
  12. G502使用计算机配置,罗技G502鼠标驱动调试详解!实战《男友4》设置!
  13. OFD文件解析流程(转)
  14. UG NX 12抽取复合曲线
  15. CAML: FAST CONTEXT ADAPTATION VIA META-LEARNING
  16. Python爬取堆糖网的表情包(再也不用担心斗图失败了)
  17. java源程序的运行命令_Java源程序名为Test.java,运行它的Java程序的命令是( )。 (10.0分)_学小易找答案...
  18. 将图形中线条或者图案坐标点进行提取
  19. python随机生成小写字母表_用小写字母生成大随机字符串的最快方法
  20. 数据看板/商业智能分析仪表盘

热门文章

  1. 10-SpringBoot启动图标修改
  2. 【基于MATLAB的数字图像处理】第三章·基本图像变换
  3. P1345 [USACO5.4]奶牛的电信Telecowmunication
  4. 安装使用Docker
  5. swift 在linux系统,Linux下搭建Swift语言开发学习环境
  6. FutureTask源码解析二
  7. ELRepo软件仓库源 提供的硬件驱动 centos
  8. 氚云根据后台返回数据写下拉框
  9. ZeroTierr的moon云服务器搭建和使用
  10. html 滚动字幕如何设置,如何制作滚动字幕 视频画面加滚动字幕,自己设置滚动字幕的显示时间(滚动次数)...