收藏 分销(赏)

c++-实验7.doc

上传人:二*** 文档编号:4514649 上传时间:2024-09-26 格式:DOC 页数:13 大小:199.04KB 下载积分:5 金币
下载 相关 举报
c++-实验7.doc_第1页
第1页 / 共13页
本文档共13页,全文阅读请下载到手机保存,查看更方便
资源描述
实验 7 实验报告 教学班级:_____11__ 学生学号:2017114499__ 学生姓名:_张恒___ 实验日期:______________ 实验地点: _7103_____(机房) 指导教师签名:_____________ 实验成绩:______________ 一、实验目的 1.掌握常用系统函数的功能及使用方法; 2.掌握自定义有返回值函数的概念、定义及使用方法。 二、实验任务 1、实现功能:根据键盘输入的数x,计算分段函数f(x)的值。 (1) 主函数功能:从键盘输入数x,通过调用子函数得到计算结果并输出。 (2) 子函数功能:定义有返回值函数,实现计算该分段函数值的功能。 要求:求平方根和绝对值使用数学函数sqrt(x)、fabs(x)。 (3) 输入输出格式请参考以下样张: 2、实现功能:1~10加减乘运算训练系统。 (1) 主函数功能:随机产生一个1~10加减乘算术式(数字在1~10之间随机产生,运算符在加减乘中随机产生,如2+3=、8-4=、6*3=),要求用户输入计算结果,通过调用子函数得到正确答案,判断用户输入的计算结果是否正确并输出结论。 (2) 子函数功能:定义有返回值函数,实现加减乘算术式的计算功能。 (3) 输入输出格式请参考以下样张: 3. 实现功能:计算a的b次方与b的a次方的和。 (1) 主函数功能:从键盘输入两个整数a、b(a>0, b>0),通过调用子函数计算a的b次方与b的a次方的和并输出结果。 (2) 子函数功能:定义有返回值函数,实现计算a的b次方的功能。 (3) 输入输出格式请参考以下样张: 4、实现功能:求两个正整数的最大公约数、最小公倍数。 (1) 主函数功能:从键盘输入两个正整数,通过调用两个子函数分别得到最大公约数、 最小公倍数并输出结果。 (2) 子函数1功能:定义有返回值函数,实现求两个正整数的最大公约数的功能。 子函数2功能:定义有返回值函数,实现求两个正整数的最小公倍数的功能。 (3) 输入输出格式请参考以下样张: 5、实现功能:计算正整数m~n之间所有完数之和。 (1) 主函数功能:从键盘输入两个整数m、n(m>0, n>0, m<n),通过调用子函数判断出m~n之间所有完数,计算所有完数之和并输出结果。 (2) 子函数功能:定义有返回值函数,实现判断正整数是否为完数的功能。(完数是指:该数所有因子(不含自身)之和等于该数,如28=1+2+4+7+14)。 (3) 输入输出格式请参考以下样张: 三、实验结果(源程序 + 注释) 1. #include<iostream> #include<cmath> using namespace std; double zheng(double x); void main() { double x,y; cout<<"2017114499 张恒"<<endl; cout<<"请输入自变量x的值:"; cin>>x; y=zheng(x); cout<<"y="<<y<<""<<endl; } double zheng(double x) { if(x==0) return 0; else { if(x>0) {return(sqrt(x));} else {return(fabs(x));} } } 2. #include<iostream> #include<ctime> using namespace std; int add(int m,int n); int minus(int m,int n); int mul(int m,int n); void main() { int x,y,hao,i=1; cout<<"2017114499 张恒"<<endl; srand(time(NULL)); hao=1+rand()%(3-1+1); x=1+rand()%(10-1+1); y=1+rand()%(10-1+1); switch(hao) { case 1: { cout<<"请计算"<<x<<"+"<<y<<"="; add( x,y); } case 2: { cout<<"请计算"<<x<<"-"<<y<<"="; minus( x,y); } case 3: { cout<<"请计算"<<x<<"*"<<y<<"="; mul( x,y); } } } int add(int m,int n) { int result; cin>>result; if(m+n==result) { cout<<"计算正确!"<<endl; return(m+n); } else cout<<"计算错误!"<<m<<"+"<<n<<"="<<m+n<<""<<endl; return(m+n); } int minus(int m,int n) { int result; cin>>result; if(m-n==result) { cout<<"计算正确!"<<endl; return(m-n); } else cout<<"计算错误!"<<m<<"-"<<n<<"="<<m-n<<""<<endl; return(m-n); } int mul(int m,int n) { int result; cin>>result; if(m*n==result) { cout<<"计算正确!"<<endl; return(m*n); } else cout<<"计算错误!"<<m<<"*"<<n<<"="<<m*n<<""<<endl; return(m*n); } 3. #include<iostream> using namespace std; double zhang(double x,double y); void main() { cout<<"2017114499 张恒"<<endl; double a,b; cout<<"求a的b次方与b的a次方的和,请输入a、b:"; cin>>a>>b; cout<<""<<a<<"的"<<b<<"次方为:"<<zhang(a,b)<<""<<endl; cout<<""<<b<<"的"<<a<<"次方为:"<<zhang(b,a)<<""<<endl; cout<<""<<a<<"的"<<b<<"次方与"<<b<<"的"<<a<<"次方的和为:"<<zhang(a,b)+zhang(b,a)<<""<<endl; } double zhang(double x,double y) { double sum=1,i=1; while(i<=y) { sum=sum*x; i=i+1; } return(sum); } 4. #include<iostream> using namespace std; int zhang(int x,int y); int heng(int x,int y); void main() { cout<<"2017114499 张恒"<<endl; int a,b; cout<<"请输入两个正整数:"; cin>>a>>b; cout<<"最大公约数:"<<zhang(a,b)<<""<<endl; cout<<"最小公倍数:"<<heng(b,a)<<""<<endl; } int zhang(int x,int y) { int t,r; if(x<y) {t=x;x=y;y=t;} r=x%y; if(r==0) cout<<"p,q两数的最大公约数为:"<<x<<""<<endl; else { while(r!=0) { x=y; y=r; r=x%y; } return(y); } } int heng(int x,int y) { int sum=x; while(sum%y!=0) {sum=sum+x;} return(sum); } 5. #include <iostream> using namespace std; int num(int a); void main() { cout<<"2017114499 张恒"<<endl; int m,n,t,s=0; cout<<"请依次输入数字m,n(n>m>0):"<<endl; cin>>m>>n; for(t=m;t<=n;t++) {s=num(t)+s;} cout<<m<<"~"<<n<<"之间所有完数之和为:"<<s<<endl; } int num(int a) { int i,sum=0; for(i=1;i<a;i++) { if(a%i==0) {sum=sum+i;} } if(a!=0&&sum==a) return a; else return 0; } (此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持) 编辑版word
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服