课程设计报告
设计题目: 判断两个数组的前 n 个元素值是否按下标对 应完全相同
学生姓名: | 汪良柱 |
专 | 业: | 信息安全 |
班 | 级: | 2班 |
学 | 号: | |
指导教师: | 于磊 |
完成日期: | 2011-6-17 |
| | |
合肥工业大学计算机与信息学院
一、 需求与规格说明:
编写具有如下函数原型的递归与非递归两种函数 equ,负责判断数组a与b 的前 n 个元素值是否按下标对应完全相同, 是则返回 true ,否则返回 false 。并 编制主函数对它们进行调用,以验证其正确性。 bool equ(int a[], int b[], int n);
程序要定义一个 bool equ(int a[], int b[], int n) 函数,实现判断数组
a反垃圾邮箱和b的前n个元素值是否按下标对应完全相同;在主函数中实现对此函数的调 用。
二、设计
设计思想:若用递归函数, 可按如下方式来分解并处理问题, 先判断最后一 个元素是否相同,不同则返false ;相同则看n是否等于1,是则返回true,否 则进行递归调用(传去实参 木门制作a、b 与 n-1 ,去判断前 n-1 个元素的相等性),并 返回递归调用的结果(与前 n-1 个元素的是否相
等性相同)。
若用非递归函数,则利用 for 循环语句,从数组的第一个元素开始判断,直 到数组的最后一个元素。若数组的每一个元素按下标对应相同,则返回 true,否 则返回 false
设计表示:略
设计注释:见源程序
三、 用户手册
用户要输入数组的长度,以及数组 a和数组b中的元素。
四、调试及测试
cout<<"k=";
cout«"请输入数组a中的元素:\n";
素
for(i = 0; i < k; i++) {
cin>>a[i];
cout<<endl;
cout«"请输入数组b中的元素:\n"; //输入数组b中的元素
for(i=0;i<k;i++)
{
cin>>b[i];
}
cout<<endl;
if(equ(a, b, k)) //调用 equ 函数
{
coutvv"数组a和数组b前"vvkvv"个元素是按下标对应完全相同! <<endl; //输出结果
}
else
{
coutvv"数组a和数组b前"vvkvv"个元素不是按下标对应完全相同! <<endl; //输出结果
cin>>k;
//输入数组 a 中的元素
coutvv"请输入数组a中的元素:\n";个人信息管理系统for(i = 0; i v k; i++)
{
cin>>a[i];
如何自制软玻璃}
智能商用豆浆机cout<<endl;
cout«"请输入数组b中的元素:\n"; //输入数组b中的元素
for(i=0;i<k;i++)
{
cin>>b[i];
}
cout<<endl;
if(equ(a, b, k)) //调用 equ 函数
{
coutvv"数组a和数组b前"vvkvv"个元素是按下标对应完全相同! <<endl; //磁流变阻尼器输出结果
}
else
{
coutvv"数组a和数组b前"vvkvv"个元素不是按下标对应完全相同! <<endl; //输出结果
}
coutvvendl;
} coutvvendl;
}