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

上传人:E**** 文档编号:118284639 上传时间:2019-12-12 格式:DOC 页数:11 大小:43.26KB
返回 下载 相关 举报
西南交大C++实验七.doc_第1页
第1页 / 共11页
西南交大C++实验七.doc_第2页
第2页 / 共11页
西南交大C++实验七.doc_第3页
第3页 / 共11页
西南交大C++实验七.doc_第4页
第4页 / 共11页
西南交大C++实验七.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《西南交大C++实验七.doc》由会员分享,可在线阅读,更多相关《西南交大C++实验七.doc(11页珍藏版)》请在金锄头文库上搜索。

1、实验 7 实验报告教学班级:_ 学生学号:_ 学生姓名:_实验日期:_ 实验地点:_指导教师签名:_ 实验成绩:_ 一、实验目的1掌握常用系统函数的功能及使用方法;2掌握自定义有返回值函数的概念、定义及使用方法。二、实验任务1、实现功能:根据键盘输入的数x,计算分段函数f(x)的值。(1) 主函数功能:从键盘输入数x,通过调用子函数得到计算结果并输出。(2) 子函数功能:定义有返回值函数,实现计算该分段函数值的功能。要求:求平方根和绝对值使用数学函数sqrt(x)、fabs(x)。(3) 输入输出格式请参考以下样张: 2、实现功能:110加减乘运算训练系统。(1) 主函数功能:随机产生一个11

2、0加减乘算术式(数字在110之间随机产生,运算符在加减乘中随机产生,如2+3=、8-4=、6*3=),要求用户输入计算结果,通过调用子函数得到正确答案,判断用户输入的计算结果是否正确并输出结论。(2) 子函数功能:定义有返回值函数,实现加减乘算术式的计算功能。(3) 输入输出格式请参考以下样张: 3. 实现功能:计算a的b次方与b的a次方的和。(1) 主函数功能:从键盘输入两个整数a、b(a0, b0),通过调用子函数计算a的b次方与b的a次方的和并输出结果。(2) 子函数功能:定义有返回值函数,实现计算a的b次方的功能。(3) 输入输出格式请参考以下样张: 4、实现功能:求两个正整数的最大公

3、约数、最小公倍数。(1) 主函数功能:从键盘输入两个正整数,通过调用两个子函数分别得到最大公约数、最小公倍数并输出结果。(2) 子函数1功能:定义有返回值函数,实现求两个正整数的最大公约数的功能。子函数2功能:定义有返回值函数,实现求两个正整数的最小公倍数的功能。(3) 输入输出格式请参考以下样张:5、实现功能:计算正整数mn之间所有完数之和。(1) 主函数功能:从键盘输入两个整数m、n(m0, n0, mn),通过调用子函数判断出mn之间所有完数,计算所有完数之和并输出结果。(2) 子函数功能:定义有返回值函数,实现判断正整数是否为完数的功能。(完数是指:该数所有因子(不含自身)之和等于该数

4、,如28=1+2+4+7+14)。(3) 输入输出格式请参考以下样张: 三、实验结果(源程序 + 注释)1.#include#includeusing namespace std; void main()cout学号:endl;cout=endl;double x,y;double f(double x);coutx;y=f(x);couty=y0)y=sqrt(x);elseif(x=0)y=0;elsey=fabs(x);return y;2.#include#includeusing namespace std;void main()cout学号:endl;cout=endl;int m

5、,a,b,js,zq;char op;int calc(int a,int b,char op);srand(time(NULL);m=1+ rand()%3;a=1+ rand()%10;b=1+ rand()%10; switch (m) case 1:op=+; break;case 2:op=-; break;case 3:op=*; break; coutaopbjs;zq=calc(a,b,op);if(js!=zq)cout计算错误aopb=zqendl;elsecout计算正确endl;int calc(int a,int b,char op) int n;switch(op)

6、 case +:n=a+b;break; case -:n=a-b;break; case *:n=a*b;break; return n;3.#includeusing namespace std;void main()cout学号:endl;cout=endl;double a,b,c;double power(int a,int b);coutab;c=power(a,b)+power(b,a); couta的b次方为power(a,b)endl; coutb的a次方为power(b,a)endl; couta的b次方加b的a次方为cendl; double power(int a,in

7、t b) int mul=1,i;for(i=0;ib;i+)mul=mul*a;return mul; 4.#includeusing namespace std;void main()cout学号:endl;cout=endl;int x,y,z,gy,gb;int max(int m,int n);int min(int m,int n);coutxy;if(xy)z=x;x=y;y=z;gy=max(x,y);gb=min(x,y);cout最大公约数是:gyendl;cout最小公倍数是:gbendl;int max(int m,int n) int t;t=m%n;while(t!

8、=0)m=n;n=t;t=m%n;return n;int min(int m, int n) int max(int, int); return(m*n)/max(m,n);5.#includeusing namespace std;void main()cout学号:endl;cout=endl;int m,n,i,j,sum;sum=0;bool fact(int i);coutmn;for(i=m;i=n;i+) if (fact(i) sum=sum+i;coutmn之间所有完数之和为:sumendl;bool fact(int m) int sum=0,i;for(i=1;im;i+)if(m%i=0)sum=sum+i;if(sum=m)return true;elsereturn false;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号