1、定义有返回值函数,实现计算该分段函数值的功能。要求:求平方根和绝对值使用数学函数sqrt(x)、fabs(x)。(3) 输入输出格式请参考以下样张: 2、实现功能:110加减乘运算训练系统。随机产生一个110加减乘算术式(数字在110之间随机产生,运算符在加减乘中随机产生,如2+3=、8-4=、6*3=),要求用户输入计算结果,通过调用子函数得到正确答案,判断用户输入的计算结果是否正确并输出结论。定义有返回值函数,实现加减乘算术式的计算功能。3. 实现功能:计算a的b次方与b的a次方的和。从键盘输入两个整数a、b(a0, b0),通过调用子函数计算a的b次方与b的a次方的和并输出结果。定义有返
2、回值函数,实现计算a的b次方的功能。4、实现功能:求两个正整数的最大公约数、最小公倍数。从键盘输入两个正整数,通过调用两个子函数分别得到最大公约数、最小公倍数并输出结果。(2) 子函数1功能:定义有返回值函数,实现求两个正整数的最大公约数的功能。子函数2功能:定义有返回值函数,实现求两个正整数的最小公倍数的功能。5、实现功能:计算正整数mn之间所有完数之和。从键盘输入两个整数m、n(m0, n0, mn),通过调用子函数判断出mn之间所有完数,计算所有完数之和并输出结果。定义有返回值函数,实现判断正整数是否为完数的功能。(完数是指:该数所有因子(不含自身)之和等于该数,如28=1+2+4+7+
3、14)。三、实验结果(源程序 + 注释)1.#includecmathusing namespace std; void main() coutx; y=f(x);y=y0) y=sqrt(x); else if(x=0) y=0; else y=fabs(x); return y;2.ctimevoid main() int m,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
4、:op=+ break; case 2:- case 3:*aopb=js; zq=calc(a,b,op); if(js!=zq) cout计算错误zqb; c=power(a,b)+power(b,a);的次方为power(a,b)power(b,a)次方加c double power(int a,int b) int mul=1,i; for(i=0;iy; if(xy) z=x; x=y; y=z; gy=max(x,y); gb=min(x,y);最大公约数是:gy最小公倍数是:gbn; for(i=m;=n; if (fact(i) sum=sum+i;mn之间所有完数之和为:sum bool fact(int m) int sum=0,i; for(i=1;m; if(m%i=0) sum=sum+i; if(sum=m) return true; return false;