三个和数组有关的程序题目(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.代码运行打印格式: ...
随机推荐
- ThinkPHP导入第三方类库Vendor
详情查看ThinkPHP3.2手册 架构 > 自动加载 章节 vendor('Uploader','','.class.php')
- Python并发编程-协程实现socketserver
#server.py from gevent import monkey;monkey.patch_all() import socket import gevent sk = socket.sock ...
- 深度学习基础系列(四)| 理解softmax函数
深度学习最终目的表现为解决分类或回归问题.在现实应用中,输出层我们大多采用softmax或sigmoid函数来输出分类概率值,其中二元分类可以应用sigmoid函数. 而在多元分类的问题中,我们默认采 ...
- 使用multiprocessing中的常见问题
在python的解释器中,CPython是应用范围最广的一种,其具有丰富的扩展包,方便了开发者的使用.当然CPython也不是完美的,由于全局解释锁(GIL)的存在,python的多线程可以近似看作单 ...
- python中 .write 无法向文件写入内容
问题代码如下 links = open("new") out = open("out.txt","w+") for link in link ...
- Centos7(Firewall)防火墙开启常见端口命令
使用云服务器的,一定要注意开启安全组配置的响应端口 Centos7默认安装了firewalld,如果没有安装的话,则需要YUM命令安装:firewalld真的用不习惯,与之前的iptable防火墙区别 ...
- 【20181103T1】地球发动机【dp优化】
题面 一眼dp 设\(f_i\)表示前\(i\)个且\(i\)必须选的最大功率 有 \(f _i= max_{1 \leq j < i,A_i - A_j > X_j} \{f_j \}+ ...
- [SPOJ-LCS]Longest Common Substring
题目大意: 求两个字符串的LCS. 思路: 对其中一个字符串构建SAM,然后用另一个字符串在里面匹配,按照SAM的边一直往下走,匹配到的连续的字符数就是公共字串的长度. #include<str ...
- vijos p1882 智力题
题意: 清晨, Alice与Bob在石阶上玩砖块.他们每人都有属于自己的一堆砖块.每人的砖块都由N列组成且N是奇数.Alice的第i列砖块有m[i]个.而Bob的第i列砖块有s[i]个. 他们想建造城 ...
- 细说React(一)
React 是近期非常热门的一个前端开发框架. 这篇文章将介绍如何使用 React 来创建用户界面,希望能够起到抛砖引玉的效果. "React, A JAVASCRIPT LIBRARY ...