西南交大C++实验13.doc

上传人:豆**** 文档编号:24077260 上传时间:2022-07-03 格式:DOC 页数:10 大小:171KB
返回 下载 相关 举报
西南交大C++实验13.doc_第1页
第1页 / 共10页
西南交大C++实验13.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《西南交大C++实验13.doc》由会员分享,可在线阅读,更多相关《西南交大C++实验13.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流西南交大C+实验13.doc.精品文档.实验 13 实验报告教学班级:_ 学生学号:_ 学生姓名:_实验日期:_ 实验地点:指导教师签名:_ 实验成绩:_ 一、 实验目的1. 理解变量作用域,掌握局部变量和全局变量的使用方法;2. 掌握函数调用过程中的参数传递方法。3. 理解递推的概念,掌握递归函数的基本使用方法;二、 实验任务1. 求数组元素和值。1)主函数定义整型数组a10,数组元素值aj=2*j+1,输出a数组; 2)编一子函数,将主函数传递来的数组元素值改变为其前面所有数组元素的和值(包括该数组元素自身值),子函数头要求为sum(in

2、t a,int n),n用于传递数组的大小;3)主函数中输出改变后的a数组。2. 求自然数对。1) 编写一子函数,判断两个自然数x,y是否是自然数对(所谓自然数对是指两个自然数的和与差都是平方数,如:17-8=9,17+8=25);2) 调用子函数在0x=50,0y=50且x!=y范围内找出全部自然数对。3. 斐波那契数列。1) 主函数功能:求出斐波那契数列的前n项存入数组a20中,开始两项均为1,将子函数反序存放后的结果输出;2) 子函数功能:将主函数求出的斐波那契数列前n项反序存放。函数头要求为void fbnq(int*p,int n),p指向数组a。4. 编程实现:将有序数组有序合并。

3、1)有两个从小到大的整型有序数组a和b,编一子函数将这两个数组合并为从小到大的有序数组c,整个合并过程中c保持有序;2)子函数头要求为void merge(int a,int b,int c,int m,int n),m用来传递a数组元素个数,n传递b数组元素个数。5. 实现功能:已知数列2,6,14,30, ,计算该数列的第n项。其中的递推关系为:编程要求:1)主函数功能:从键盘输入n值,通过调用子函数计算数列的第n项并输出。2)子函数功能:使用递归法,计算数列2,6,14,30, ,的第n项。三、 实验结果(源程序 + 注释)1.#include#includeusing namespac

4、e std;void main() cout学号:姓名:endl;cout=endl;int a10,n,j;void sum(int a,int n);cout请输入数组a元素的个数: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+

5、)bi=bi+aj;for(i=0;in;i+)ai=bi;2.#include#includeusing namespace std;void main() cout学号: 姓名: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;boo

6、l 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)break;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

7、+ai-2;fbnq(a,n);cout子函数反序存放后的结果为:endl;for(i=0;in;i+)coutaisetw(5);coutendl;void fbnq(int*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

8、 a,int b,int c,int m,int n);coutm;cout数组a的元素(从小到大)为:endl;for(i=0;iai;coutn;cout数组b的元素(从小到大)为: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;int n;int f(int);coutn;cout该数列的第n项为f(n)endl;int f(int n)double x;x=2;if(n=1)return x;elsereturn f(n-1)+pow(x,n);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁