#include
{intm,n,i,j,p,q,f,e,k,t,a[50],b[50],c[100],v,sum=0;
cout<<\对两个无序的数组a,b排序,请分别输入数组a,b中数的个数:\cin>>n>>m;
cout<<\请输入数组a:\for(i=0;i
cout<<\请输入数组b:\for(p=0;p while(j {if(a[j] while(q cout<<\“a,b合并后的数组为:\for(f=0;f {for(f=0;f cout<<\合并数组的均值为\cout<<\其中大于均值的元素为:\ for (f=0;f 实验__8实验报告 一、实验目的 1.掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法。 二、实验任务 1.使用插入排序法将键盘输入的无序数列按升序排列。 思路分析与算法: 1) 2) 3) 4) 5) 6) 从第一个元素开始,该元素可以认为已经被排序。 取出下一个元素,在已经排序的元素序列中从后向前扫描。 如果该元素(已排序)大于新元素,将该元素移到下一位置。 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置。 将新元素插入到该位置中。 重复步骤2。 2.选举猴王问题:N 只猴子围成一圈,顺序编号1至N。从编号为1的猴子开始依次报数,报数m 的猴子就退出圈子,接着再报,报数m 的猴子再退出圈子,依次继续下去,圈子最后所剩的一只猴子为猴王,它原先的编号是几? 思路分析与算法: 1) 使用一维数组存放猴子从1到n的编号,定义参加选举猴王的最多猴子数为40。 2) i为每次循环时计数变量,k为按1,2,3,?m报数时的计数变量,t表示退出的猴子数。依次将退出的猴子对应的数组元素置0,直到只剩下一只猴子。 3) 找出数组中不为0的a[i],输出该数。 三、实验结果(源程序 + 注释) 插入排序 #include inti,j,k,t,n,a[20]; cout<<\请输入需排序的数组a的元素个数(<=20):\cin>>n; cout<<\请输入需排序的数组a的元素\for(i=0;i for(j=i;j>0&&t a[j]=a[j-1]; } a[j]=t; } for(k=0;k #include {inta[40],m,n,j,k=1,i=-1; cout<<\请输入猴子个数(少于40):\cin>>n; cout<<\请输入需报的数:\cin>>m; for(j=0;j { for(j=1;j<=m;) {i=(i+1)%n; if(a[i]!=0) j++;} if(k==n)break; cout< cout<<\猴王是:\号猴子!\}