三个和数组有关的程序题目(C++)
题目一:有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++)的更多相关文章
- 【C语言探索之旅】 第二部分第三课:数组
内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语 ...
- GPU 编程入门到精通(三)之 第一个 GPU 程序
博主因为工作其中的须要.開始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程,因此在这里特地学习一下 GPU 上面的编程.有志同道合的小伙伴 ...
- 【C++探索之旅】第一部分第三课:第一个C++程序
内容简介 1.第一部分第三课:第一个C++程序 2.第一部分第四课预告:内存的使用 第一个C++程序 经过上两课之后,我们已经知道了什么是编程,编程的语言,编程的必要软件,C++是什么,我们也安装了适 ...
- “全栈2019”Java第三十章:数组详解(下篇)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Servlet+JSP(三):第一个Web程序
Servlet+JSP(三):第一个Web程序在学习了服务器并成功安装后,我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进 ...
- Android开发之数组类的面试题目,android工程师java程序员必备
1,定义一个长度为5的数组 int [] arr=new int[5]; 2,写出静态初始化一个数组的方法 int [] arr={1,2,3,4}; 3,写出可变参数的使用规则 1,只能做为方 ...
- 689. Maximum Sum of 3 Non-Overlapping Subarrays三个不重合数组的求和最大值
[抄题]: In a given array nums of positive integers, find three non-overlapping subarrays with maximum ...
- 一道有关球赛队员分配的C++程序题目
题目描述: 两个球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已经抽签决定比赛名单. 有人向队员打听比赛安排的名单.a说他不和x比,c说他不和x,z比,请编程找出三队赛手的名单. ...
- JAVA关于字符串&&字符数组处理的小题目
JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...
随机推荐
- CSUOJ 1982 小M的移动硬盘
Description 最近小M买了一个移动硬盘来储存自己电脑里不常用的文件.但是他把这些文件一股脑丢进移动硬盘后,觉得这些文件似乎没有被很好地归类,这样以后找起来岂不是会非常麻烦?小M最终决定要把这 ...
- python opencv3 轮廓检测
git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np # 创建一个2 ...
- windows下thrift的使用(python)
1.下载thrift,下载地址:http://archive.apache.org/dist/thrift/0.9.3/ 2.在编写python的thrift代码时,需要先安装thrift modul ...
- Needed Learning(Updating)
决定把掌握不熟练或是模型见的少的知识点在这里列一列 希望能在自己AFO前成功get技能点吧…… 优先级:动态规划-分治-字符串-图论-数据结构-数学-计算几何-其它 动态规划 1.四边形不等式优化 2 ...
- poj 3164
朱刘算法 步骤: 1.计算出每个点边权最小的边的权(如果除根以外有其他的点没有入边,则不存在最小树形图),并记下边的另一个端点(称其为这个点的前趋) 2.沿着每个点向上走,如果在走到根或环上的点之前, ...
- Codeforces Round #234 (Div. 2) B. Inna and New Matrix of Candies SET的妙用
B. Inna and New Matrix of Candies time limit per test 1 second memory limit per test 256 megabytes i ...
- CSS选择器复习
通用选择器:* 选择到所有的元素 选择子元素:> 选择到元素的直接后代(第一级子元素) 相邻兄弟选择器:+ 选择到紧随目标元素后的第一个元素 普通兄弟选择器:~ 选择到紧随其后的所有兄弟元素 伪 ...
- JavaScript中的callee与caller的区别
1.callee callee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数 作用:就是用来指向当前对象 返回正被执行的 Function 对象,也就是所指定的 Functi ...
- Linux下禅道系统的搭建
说明: 禅道系统的搭建,分两大部分 1.xampp环境的搭建 2.禅道系统的搭建 *********************************************************** ...
- 重温PHP之冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小.首字母从A到Z)错误就把他们交换过来.走 ...