题目一:有n个整数,使前面各数顺序向后移动m个位置

问题描述:

有n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前m个数

程序代码:

#include<iostream>
using namespace std;
int main(){
    void move(int a[],int n,int m);
    int a[200];
    int n=0,m=0,i=0;
    cout<<"请输入数字的个数:";
    cin>>n;
    cout<<"\n请输入这些数字\n"<<endl;
    for(;i<n;i++){
        cin>>a[i];
    }
    cout<<"\n请输入要向后移动的位数m:";
    cin>>m;
    move(a,n,m);
    cout<<"\n移动后的数字序列为:\n"<<endl;
    for(i=0;i<n;i++){
        cout<<a[i]<<" ";
    } 
    cout<<"\n\n";
    return 0;

void move(int a[],int n,int m){
    int i=0,k;
    int b[200];
    for(i=n-1;i>=0;i--){
        k=(i+m)%n;
        b[k]=a[i];
    }
    for(i=0;i<n;i++){
        a[i]=b[i];
    }
     
}

运行界面:

题目二:狐狸找兔子

问题描述:先建立一个数组a[100]并置初始值为0,然乎输入洞穴的数量n。 在进行循环,通过循环来模拟找洞穴的过程,所有被找到的洞穴对应的数组的值置为1,如此循环1000次。 然后将数组的前n个元素,依次判断,并输出元素值为0的数组的i。

程序代码:

#include<iostream>
using namespace std;
int main(){
int a[100]={0};
int i=0,k=0;
int n;
cout<<"请输入洞穴的数量n:";
cin>>n;
for(i=1;i<=1000;i++){
k=(k+i)%n;
a[k]=1;
if(k==0){
a[n]=1;
}
}
for(i=1;i<=n;i++){
if(a[i]!=1){
cout<<"\n洞穴"<<i<<"安全"<<endl;
}
}
cout<<endl;
return 0;
}

运行界面:

题目三:有n个人围成一圈,顺序排号。

问题描述:有n个人围成一圈,顺序排号。从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号

程序代码:

#include<iostream>
using namespace std;
int main(){
int a[1000];
int n=0;//n表示一共多少人
int m=0;//m表示被淘汰的人数
int i=0;//每轮循环中的计数器
int k=0;//用来表示报数的数
int j=0;
cout<<"请输入总人数:";
cin>>n;
for(j=0;j<n;j++){
a[j]=j+1;//对所有的人进行编号
}
while(m<(n-1)){
if(a[i]!=0){//判断该人是否已经淘汰
k++;//若没有淘汰,则参与围成新圈
}
if(k==3){
a[i]=0;//淘汰报数为3的人
k=0;//从新报数,报数为3的置成0,下一个就是置成了1
m++;
}
i++;
/*
i从0开始,一直到n-1,i++之后若等于n,则说明已经经过了队尾 ,
要重新进行循环
*/
if(i==n){
i=0;
}
}
for(j=0;j<n;j++){
if(a[j]!=0){
cout<<"\n最后剩下的人原来的编号为:"<<a[j]<<" 的人\n"<<endl;
}
}
return 0;
}

运行界面:

三个和数组有关的程序题目(C++)的更多相关文章

  1. 【C语言探索之旅】 第二部分第三课:数组

    内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语 ...

  2. GPU 编程入门到精通(三)之 第一个 GPU 程序

    博主因为工作其中的须要.開始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程,因此在这里特地学习一下 GPU 上面的编程.有志同道合的小伙伴 ...

  3. 【C++探索之旅】第一部分第三课:第一个C++程序

    内容简介 1.第一部分第三课:第一个C++程序 2.第一部分第四课预告:内存的使用 第一个C++程序 经过上两课之后,我们已经知道了什么是编程,编程的语言,编程的必要软件,C++是什么,我们也安装了适 ...

  4. “全栈2019”Java第三十章:数组详解(下篇)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. Servlet+JSP(三):第一个Web程序

    Servlet+JSP(三):第一个Web程序在学习了服务器并成功安装后,我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进 ...

  6. Android开发之数组类的面试题目,android工程师java程序员必备

    1,定义一个长度为5的数组 int [] arr=new int[5]; 2,写出静态初始化一个数组的方法 int [] arr={1,2,3,4}; 3,写出可变参数的使用规则    1,只能做为方 ...

  7. 689. Maximum Sum of 3 Non-Overlapping Subarrays三个不重合数组的求和最大值

    [抄题]: In a given array nums of positive integers, find three non-overlapping subarrays with maximum ...

  8. 一道有关球赛队员分配的C++程序题目

    题目描述: 两个球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已经抽签决定比赛名单. 有人向队员打听比赛安排的名单.a说他不和x比,c说他不和x,z比,请编程找出三队赛手的名单. ...

  9. JAVA关于字符串&&字符数组处理的小题目

    JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...

随机推荐

  1. 装饰 Markdown

    利用 Font Awesome 提升 Markdown 的表现能力 Font Awesome 是一个字体和图标工具包,包含人物.动物.建筑.商业.品牌等等各种主题丰富的图标符号,可以通过相应的语法添加 ...

  2. 第4天:Django的cookie和session

    Cookie Session Cookie 浏览器请求服务器是无状态的,它的每一次请求对于服务器来说都是新的,服务器默认不会保存用户的状态数据.但很多时候,服务器需要保存用户的一些状态数据,比如用户是 ...

  3. 从Table 表中取出第 m 条到第 n 条的记录

    * FROM Table id FROM Table )) --从TABLE表中取出第m到n条记录 (Exists版本) * FROM TABLE AS a WHERE Not Exists ( * ...

  4. 下拉框搜索插件chosen

    {% load staticfiles %} <!DOCTYPE html> <html lang="en"> <head> <meta ...

  5. 直接插入排序(高级版)之C++实现

    直接插入排序(高级版)之C++实现 一.源代码:InsertSortHigh.cpp /*直接插入排序思想: 假设待排序的记录存放在数组R[1..n]中.初始时,R[1]自成1个有序区,无序区为R[2 ...

  6. 浅谈期望的线性性(可加性)【CodeForces280c】【bzoj3036】【bzoj3143】

    [pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=63399955 向大(hei)佬(e)势力学(di ...

  7. BZOJ 3875: [Ahoi2014]骑士游戏 spfa dp

    3875: [Ahoi2014]骑士游戏 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3875 Description [故事背景] 长 ...

  8. Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition) A. Bear and Game 水题

    A. Bear and Game 题目连接: http://www.codeforces.com/contest/673/problem/A Description Bear Limak likes ...

  9. leetcode660. Remove 9

    leetcode660. Remove 9 题意: 从整数1开始,删除任何包含9的整数,如9,19,29 ... 所以现在,你将有一个新的整数序列:1,2,3,4,5,6,7,8,10,11,... ...

  10. ROS知识(19)----写一个简单的pluginlib例子

    参考资料: 官方教程:Writing and Using a Simple Plugin