题目一:有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. 2017-2018-1 20179202《Linux内核原理与分析》第八周作业

    一 .可执行程序的装载 1. 预处理.编译.链接 gcc –e –o hello.cpp hello.c //预处理 gcc -x cpp-output -S -o hello.s hello.cpp ...

  2. R语言实战(七)图形进阶

    本文对应<R语言实战>第11章:中级绘图:第16章:高级图形进阶 基础图形一章,侧重展示单类别型或连续型变量的分布情况:中级绘图一章,侧重展示双变量间关系(二元关系)和多变量间关系(多元关 ...

  3. 洛谷P4645 [COCI2006-2007 Contest#7] BICIKLI [Tarjan,拓扑排序]

    题目传送门 BICIKLI 题意翻译 给定一个有向图,n个点,m条边.请问,1号点到2号点有多少条路径?如果有无限多条,输出inf,如果有限,输出答案模10^9的余数. 两点之间可能有重边,需要看成是 ...

  4. 三种显著性检测算法(SR,HFT,GBMR)

    一.谱残差(Spectral Residual, SR)  一种简单的图像显著性计算模型 http://www.cnblogs.com/CCBB/archive/2011/05/19/2051442. ...

  5. Swift2.0语言教程之类的嵌套与可选链接

    Swift2.0语言教程之类的嵌套与可选链接 Swift2.0语言类的嵌套 在一个类中可以嵌套一个或者多个类.它们的嵌套形式也是不同的,大致分为了两种:直接嵌套和多次嵌套.下面依次讲解这两种方式. S ...

  6. python opencv3 静态图片检测人脸

    git:https://github.com/linyi0604/Computer-Vision # coding:utf-8 import cv2 filename = "../data/ ...

  7. Linux嵌入式文件系统(网络文件系统)

    <文件系统定义> 怎么将文件和文件目录加载到linux内核中,这一种加载的方式就叫做文件系统 <建立根文件系统目录和文件> <创建目录> 1)在linux系统中使用 ...

  8. 线性表之顺序栈C++实现

    线性表之顺序栈 栈是限定仅在表尾(栈顶)进行插入删除操作的线性表,FILO:先进后出 一.顺序栈的头文件:SeqStack.h //顺序栈头文件 #include<iostream> us ...

  9. BZOJ 2726: [SDOI2012]任务安排 [斜率优化DP 二分 提前计算代价]

    2726: [SDOI2012]任务安排 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 868  Solved: 236[Submit][Status ...

  10. CodeForces600E Lomsat gelral 线段树合并

    从树上启发式合并搜出来的题 然而看着好像线段树合并就能解决??? 那么就用线段树合并解决吧 维护\(max, sum\)表示值域区间中的一个数出现次数的最大值以及所有众数的和即可 复杂度\(O(n \ ...