c++ 实验7.docx
- 文档编号:14271765
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:13
- 大小:138.78KB
c++ 实验7.docx
《c++ 实验7.docx》由会员分享,可在线阅读,更多相关《c++ 实验7.docx(13页珍藏版)》请在冰点文库上搜索。
c++实验7
实验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 (2)子函数功能: 定义有返回值函数,实现判断正整数是否为完数的功能。 (完数是指: 该数所有因子(不含自身)之和等于该数,如28=1+2+4+7+14)。 (3)输入输出格式请参考以下样张: 三、实验结果(源程序+注释) 1. #include #include usingnamespacestd; doublezheng(doublex); voidmain() { doublex,y; cout<<"2017114499张恒"< cout<<"请输入自变量x的值: "; cin>>x; y=zheng(x); cout<<"y="< } doublezheng(doublex) { if(x==0) return0; else { if(x>0) {return(sqrt(x));} else {return(fabs(x));} } } 2. #include #include usingnamespacestd; intadd(intm,intn); intminus(intm,intn); intmul(intm,intn); voidmain() { intx,y,hao,i=1; cout<<"2017114499张恒"< srand(time(NULL)); hao=1+rand()%(3-1+1); x=1+rand()%(10-1+1); y=1+rand()%(10-1+1); switch(hao) { case1: { cout<<"请计算"< add(x,y); } case2: { cout<<"请计算"< minus(x,y); } case3: { cout<<"请计算"< mul(x,y); } } } intadd(intm,intn) { intresult; cin>>result; if(m+n==result) { cout<<"计算正确! "< return(m+n); } else cout<<"计算错误! "< return(m+n); } intminus(intm,intn) { intresult; cin>>result; if(m-n==result) { cout<<"计算正确! "< return(m-n); } else cout<<"计算错误! "< return(m-n); } intmul(intm,intn) { intresult; cin>>result; if(m*n==result) { cout<<"计算正确! "< return(m*n); } else cout<<"计算错误! "< return(m*n); } 3. #include usingnamespacestd; doublezhang(doublex,doubley); voidmain() { cout<<"2017114499张恒"< doublea,b; cout<<"求a的b次方与b的a次方的和,请输入a、b: "; cin>>a>>b; cout<<""< "< cout<<""< "< cout<<""< "< } doublezhang(doublex,doubley) { doublesum=1,i=1; while(i<=y) { sum=sum*x; i=i+1; } return(sum); } 4. #include usingnamespacestd; intzhang(intx,inty); intheng(intx,inty); voidmain() { cout<<"2017114499张恒"< inta,b; cout<<"请输入两个正整数: "; cin>>a>>b; cout<<"最大公约数: "< cout<<"最小公倍数: "< } intzhang(intx,inty) { intt,r; if(x {t=x;x=y;y=t;} r=x%y; if(r==0) cout<<"p,q两数的最大公约数为: "< else { while(r! =0) { x=y; y=r; r=x%y; } return(y); } } intheng(intx,inty) { intsum=x; while(sum%y! =0) {sum=sum+x;} return(sum); } 5. #include usingnamespacestd; intnum(inta); voidmain() { cout<<"2017114499张恒"< intm,n,t,s=0; cout<<"请依次输入数字m,n(n>m>0): "< cin>>m>>n; for(t=m;t<=n;t++) {s=num(t)+s;} cout< "< } intnum(inta) { inti,sum=0; for(i=1;i { if(a%i==0) {sum=sum+i;} } if(a! =0&&sum==a) returna; else return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 实验7 实验