西南交大C++实验13.doc_第1页
西南交大C++实验13.doc_第2页
西南交大C++实验13.doc_第3页
西南交大C++实验13.doc_第4页
西南交大C++实验13.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验 13 实验报告教学班级:_ 学生学号:_ 学生姓名:_实验日期:_ 实验地点:指导教师签名:_ 实验成绩:_ 一、 实验目的1. 理解变量作用域,掌握局部变量和全局变量的使用方法;2. 掌握函数调用过程中的参数传递方法。3. 理解递推的概念,掌握递归函数的基本使用方法;二、 实验任务1. 求数组元素和值。1)主函数定义整型数组a10,数组元素值aj=2*j+1,输出a数组; 2)编一子函数,将主函数传递来的数组元素值改变为其前面所有数组元素的和值(包括该数组元素自身值),子函数头要求为sum(int a,int n),n用于传递数组的大小;3)主函数中输出改变后的a数组。2. 求自然数对

2、。1) 编写一子函数,判断两个自然数x,y是否是自然数对(所谓自然数对是指两个自然数的和与差都是平方数,如:17-8=9,17+8=25);2) 调用子函数在0x=50,0y1)编程要求:1)主函数功能:从键盘输入n值,通过调用子函数计算数列的第n项并输出。2)子函数功能:使用递归法,计算数列2,6,14,30, ,的第n项。三、 实验结果(源程序 + 注释)1.#include#includeusing namespace std;void main() cout学号:姓名:endl;cout=endl;int a10,n,j;void sum(int a,int n);cout请输入数组a

3、元素的个数:n;for(j=0;jn;j+)aj=2*j+1;cout数组a为:endl;for(j=0;jn;j+)coutajsetw(5);coutendl;sum(a,n);cout改变后的a数组为:endl;for(j=0;jn;j+)coutajsetw(5);coutendl;void sum(int a,int n)int b10=0;int i,j;for(i=0;in;i+)for(j=0;j=i;j+)bi=bi+aj;for(i=0;in;i+)ai=bi;2.#include#includeusing namespace std;void main() cout学号:

4、 姓名:endl;cout=endl;int x,y;bool fun(int,int);cout请输入2个自然数:xy;if(fun(x,y)coutx与y是自然数对endl;elsecoutx与y不是自然数对endl;cout在0x=50,0y=50且x不等于y范围内的自然数对有:endl;for(x=1;x=50;x+)for(y=1;yy)if(fun(x,y)coutx和ysetw(3);coutendl;bool fun(int x,int y)int a,b,c,i,j;if(xy)c=x;x=y;y=c;a=x+y;b=x-y;for(i=1;ia;i+)if(a=i*i)br

5、eak;for(j=1;jb;j+)if(b=j*j)break;if(ia&jb)return true;elsereturn false;3.#include#includeusing namespace std;void main() cout学号: 姓名:endl;cout=endl;int a20=1,1,n,i;void fbnq(int*p,int n);coutn;for(i=2;in;i+)ai=ai-1+ai-2;fbnq(a,n);cout子函数反序存放后的结果为:endl;for(i=0;in;i+)coutaisetw(5);coutendl;void fbnq(in

6、t*p,int n)int i,j,temp;for(i=0,j=n-1;ij;i+,j-)temp=*(p+i);*(p+i)=*(p+j);*(p+j)=temp;4、#include#includeusing namespace std;void main() cout学号:2017110564 姓名:谭时铵endl;cout=endl;int a20,b20,c40,m,n;int i;void merge(int a,int b,int c,int m,int n);coutm;cout数组a的元素(从小到大)为:endl;for(i=0;iai;coutn;cout数组b的元素(从

7、小到大)为:endl;for(i=0;ibi;merge(a,b,c,m,n); cout合并后的有序数组C的元素为(从小到大):endl;for(i=0;im+n;i+)coutsetw(6)ci;coutendl;void merge(int a,int b,int c,int m,int n)int i,j,k;i=j=k=0;while(im&jn)if(aibj)ck+=ai;i+;elseck+=bj; j+;if(im)for(;im;i+)ck+=ai; if(jn)for(;jn;j+)ck+=bj; 5、#include#includeusing namespace std;void main() cout学号:endl;cout=endl;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论