C++实验6及参考答案参考模板_第1页
C++实验6及参考答案参考模板_第2页
C++实验6及参考答案参考模板_第3页
C++实验6及参考答案参考模板_第4页
C++实验6及参考答案参考模板_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、上海电力学院实验报告课程名称 高级程序设计c+(1) 实验项目 实验6 函数(2) 姓名 学号 班级 专业 信息安全 同组人姓名 无 指导教师姓名 田秀霞 实验日期 2015年12月2日 一、实验目的1、掌握重载函数的使用,函数的默认参数。2. 掌握函数递归。二、实验内容和步骤编程序并上机调试运行。1、编写重载函数Max1可以分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值l 程序源代码(注意添加注释)l #include<iostream>l using namespace std;ll int Max1(int x,int y);l int Max1(int x,

2、int y,int z);l double Max1(double x,double y);l double Max1(double x,double y,double z);ll int main()l l int x=2,y=3,z=4;l double m=3.2,n=1.4,p=3.9;l cout<<x<<','<<y<<"中最大的值是:"<<Max1(x,y)<<endl;l cout<<x<<','<<y<<&

3、#39;,'<<z<<"中最大的值是:"<<Max1(x,y,z)<<endl;l cout<<m<<','<<n<<"中最大的值是:"<<Max1(m,n)<<endl;l cout<<m<<','<<n<<','<<p<<"中最大的值是:"<<Max1(m,n,p)<&

4、lt;endl;l return 0;l ll int Max1(int x,int y)l l return x>=y?x:y;l l int Max1(int x,int y,int z)l l int max;l max=x>y?x:y;1 / 6l max=z>max?z:max;l return max;l ll double Max1(double x,double y)l l return x>=y?x:y;l l double Max1(double x,double y,double z)l l double max;l max=x>y?x:y;

5、l max=z>max?z:max;l return max;l l 运行结果(直接截取结果图)2、编写函数,求x的y次方, 如果用户没有给出y的值,则默认输出x.(提示: 用默认参数值实现). 运行调试程序,熟悉调试窗口,熟悉单步调试和断点调试的过程.l 程序源代码(注意添加注释)l #include<iostream>l using namespace std;l double powxy(double x,int y=1);l int main()l l double x;l int y;l char choose;l cout<<"请输入x:&q

6、uot;l cin>>x;l cout<<"要输入y么?('y'输入,'n'不输入):"l cin>>choose;l if(choose='y')l l cout<<"请输入y:"l cin>>y;l cout<<x<<"的"<<y<<"次方为:"<<powxy(x,y);l l elsel cout<<x<<"的

7、次方为:"<<powxy(x);l return 0;l l double powxy(double x,int y)l l double s=1;l for(int i=1;i<=y;i+)l s*=x;l return s;l ll 运行结果(直接截取结果图)3、求两个正整数m和n(由用户输入)之间的非素数之和(包括m和n).要求用函数实现, l 程序源代码(注意添加注释)l #include<iostream>l using namespace std;l bool f(int i);l int summn(int m,int n);l int m

8、ain()l l int m,n;l cout<<"请输入两个整数"<<endl;l cin>>m>>n;l if(m<n) int t; t=m;m=n;n=t;l cout<<summn(m,n);l return 0;l l int summn(int m,int n)l l int i,s=0;l for(i=n;i<=m;i+)l l if(!f(i) s=s+i;l l return s;l ll bool f(int i)l int j;l for(j=2;j<i;j+)l if(i

9、%j=0) return false;l return true;l l 运行结果(直接截取结果图)4. 在主程序中提示输入整数n,编写函数用递归的方法求1+2+.+n的值。l 程序源代码(注意添加注释)l #include<iostream>l using namespace std;l int sum1ton(int n);l int main()l l int n;l cout<<"请输入n:"l cin>>n;l cout<<"从到"<<n<<",累加和为:&quo

10、t;<<sum1ton(n);l return 0;l l int sum1ton(int n)l l if(n=1) return 1;l else return sum1ton(n-1)+n;l ll 运行结果(直接截取结果图)5. 用递归的方法编写函数求n阶勒让德多项式的值,在主程序中实现输入、输出。递归公式为:l 程序源代码(注意添加注释)l #include<iostream>l using namespace std;l double p(int n,double x);l int main()l l int n;l double x;l cout<&

11、lt;"请输入n:"l cin>>n;l if(n<0) l l cout<<"错误:n必须为大于的整数,程序将结束!" l return;/main函数结束运行l l cout<<"请输入x:"l cin>>x;l cout<<"p("<<n<<","<<x<<")="<<p(n,x);l return 0;l l double p(int n,do

12、uble x)l l if(n=0) return 1;l else if(n=1) return x;l else return (2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x)/n;l ll 运行结果(直接截取结果图)6. 打印1!+2!+3!+10!之和。要求用函数实现。l 程序源代码(注意添加注释)l #include<iostream>l using namespace std;l long sumjc(int n);l long jc(int n);l int main()l l cout<<sumjc(10);l return 0;l l long sumjc(int n)l l if(n=1) return jc(n);l else return jc(n)+sumjc(n-1);l l

温馨提示

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

评论

0/150

提交评论