C++两个数组前n个数是否按下标对应相等
编写具有如下函数原型的递归与非递归两种函数equ,负责判断数组a与b的前n个元素值是否按下标对应完全相同,是则返回true,否则返回false。并编制主函数对它们进行调用,以验证其正确性。bool equ(int a[], int b[], int n);
(一)需求分析: 
这一题跟14题有相似之处,主要的目的是编制bool equ(int a[], int b[], int n);
题目的要求是判断两个数组的前n 个是否都相等,两个数组要在主函数中定义,并且赋值,然后通过调用bool equ()函数来判断是否按序相等。
(二)概要分析:
可以按照14题的方法,用两个形式来编制bool equ()函数,程序的流程图如下: 
(三)详细分析
首先定义两个数组并赋值,它们的元素个数可以不同,但是在实验中我设置的数组其方法上边的题目中多次给出,在这里不进行详细的描述个数是相同的 
再者,编制bool equ(int a[], int b[], int n) 函数,它有两个方法:
1. 可以用非递归的方法,它可以用for 循环来判断两个数组元素的大小是否按顺序对应相等排列
2. 用递归的方法,中间的循环地调用它自身的函数
(四)调试分析:
由于上个实验在非递归程序的设计过程中出现了,一点小错误这次注意力没有在犯相同的错误。这个实验比较顺利的完成。
(五)用户使用说明:
该程序的用处是判断两个数组的前n 个是否都相等,两个数组要在主函数中定义,并且赋值,然后通过调用bool equ()函数来判断是否按序相等。
(辣)测试结果:   
    
(七) 源程序:
       见上传程序15.cpp
(八) 编程体会:
这个题目主要是比较两个数组的前n项是否相等,我们可以利用两种策略解决这个问题,递归和非递归进一步加强对递归的理解。
/*************************************************
Copyright (C), 2008
File name: 软件设计普通题 15(15.cpp)
Author: 计06-1 高战
Description:
Others: ....
  Function List:  // 主要函数列表,每条记录应包括函数名及功能简要说明
   1.main()            完成各种提示与主操作输入输出
   2.for               循环 
                        3.equ()equ1()       两种函数
  History:        
<author> <time> <version > <desc>
*****************************************************/
#include<iostream>
using namespace std;
int main()
{
 bool equ(int a[],int b[],int n);                /*函数的声明*/
 bool equ1(int a[],int b[],int n);
 int a[5],b[5];
 int q=1,w;
 while(q){
 cout<<"输入五个数组a的元素"<<endl;             /*各种必须操作*/
 for(int i=0;i<5;i++)
  cin>>a[i];
原文请找腾讯752018766辣,文-论'文.网http://www.751com.cn/   else cout<<"a b数组是不同的"<<endl;};break;
 case 2:{if(equ1(a,b,5))                          /*非递归函数的调用*/
  cout<<"a b数组是相同的"<<endl;
  else cout<<"a b数组是不同的"<<endl;};break;
 default:cout<<"输入出错!!!"<<endl;}
 cout<<"是否继续   继续按1 否按0退出"<<endl;
 cin>>q;
 }
 return 0;
}
bool equ1(int a[],int b[],int n)                   /*非递归函数的定义*/
{ for(int m=0;m<n;m++)
    if(a[m]!=b[m])
  return false;
 return true;
}
bool equ(int a[],int b[],int n)                  /*递归函数的定义*/
{ if((n-1)==0)
{if(a[n-1]==b[n-1])
    return true;
    else  return false ;}
else equ(a,b, n-1);1826