三个和数组有关的程序题目(C++)
2013-08-04 22:20
260 查看
题目一:有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 =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> #define MAXNUM 100 using namespace std; int main() { int a[MAXNUM]; int n=0; //n表示一共多少人 int m=0; //m表示被淘汰的人数 int i=1; //每轮循环中的计数器 int k=0; //用来表示报数的数 int j=0; //用于循环的计数器 cout<<"请输入总人数:"; cin>>n; //对数据进行初始化操作,给每个人进行编号 for(j=1;j<=n;j++) { a[j]=j; } //通过循环不断淘汰人,直到最后只剩下一个人 while(m < n-1) { if(a[i]!=0) //判断该人是否已经淘汰 { k++; //若没有淘汰,则参与围成新圈 } if(k == 3) { a[i]=0; //淘汰报数为3的人(即将其值设置为0) k=0; //将k置为0,重新报数 m++; //对淘汰人数进行计数 } i++; //对下一个人进行判断 if(i == n+1) //到了圈子的末尾出,下一个位置将是圈子的开始 { i=1; //将下一个人置为 1(圈子的开始位置 ) } } for(j=1;j<=n;j++) { if(a[j]!=0) { cout<<"\n最后剩下的人原来的编号为:"<<a[j]<<" 的人\n"<<endl; } } return 0; }
运行界面:
相关文章推荐
- 三个和数组有关的程序题目(C++)
- 三个和数组有关的程序题目(C++)
- 一道有关球赛队员分配的C++程序题目
- 一道有关球赛队员分配的C++程序题目
- 一道有关球赛队员分配的C++程序题目
- 【程序35】 ArrayChange.java 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- C++ 与“类”有关的注意事项总结(十):类对象数组初始化(三种方法)
- 题目:C++中两种常用的记录程序运行时间的方法的总结
- 【程序31】 ArrayConverse.java 题目:将一个数组逆序输出。 。
- 重学C++ 数组 掷骰子程序
- C++实现判断输入的数组是否是升序的程序
- C++中文字符数组示例程序
- 收集两个C++写的从文本文件中读取数据保存到数组的程序
- 【c++程序】指针数组与数组指针
- 怎么快速构建自己的C/C++程序?——有关编译、静态链接和SCons
- C++学习(六)——类的学习—PhoneList对象数组程序示例
- C++中有关数组的一些细节问题
- C语言数组必须要懂得三个程序
- 小程序之计算器 【C++ STL栈实现】 + 【C 数组模拟栈实现】 【适用VC, DEV, codeblack】
- (转载)你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作