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

上传人:b****3 文档编号:3588458 上传时间:2022-11-24 格式:DOCX 页数:8 大小:30.87KB
下载 相关 举报
西南交大C++实验七.docx_第1页
第1页 / 共8页
西南交大C++实验七.docx_第2页
第2页 / 共8页
西南交大C++实验七.docx_第3页
第3页 / 共8页
西南交大C++实验七.docx_第4页
第4页 / 共8页
西南交大C++实验七.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

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

《西南交大C++实验七.docx》由会员分享,可在线阅读,更多相关《西南交大C++实验七.docx(8页珍藏版)》请在冰豆网上搜索。

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

西南交大C++实验七

实验7实验报告

教学班级:

_______学生学号:

__________学生姓名:

___________

实验日期:

_____________实验地点:

_指导教师签名:

_____________实验成绩:

______________

一、实验目的

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;

voidmain()

{

cout<<"学号:

"<

cout<<"========================================="<

doublex,y;

doublef(doublex);

cout<<"x=";

cin>>x;

y=f(x);

cout<<"y="<

}

doublef(doublex)

{doubley;

if(x>0)

y=sqrt(x);

elseif(x==0)

y=0;

elsey=fabs(x);

returny;}

 

2.

#include

#include

usingnamespacestd;

voidmain()

{

cout<<"学号:

"<

cout<<"========================================="<

intm,a,b,js,zq;

charop;

intcalc(inta,intb,charop);

srand(time(NULL));

m=1+rand()%3;

a=1+rand()%10;

b=1+rand()%10;

switch(m)

{

case1:

op='+';break;

case2:

op='-';break;

case3:

op='*';break;

}

cout<

cin>>js;

zq=calc(a,b,op);

if(js!

=zq)

cout<<"计算错误"<

else

cout<<"计算正确"<

}

intcalc(inta,intb,charop)

{

intn;

switch(op)

{case'+':

n=a+b;break;

case'-':

n=a-b;break;

case'*':

n=a*b;break;

}

returnn;}

 

3.

#include

usingnamespacestd;

voidmain()

{

cout<<"学号:

"<

cout<<"========================================="<

doublea,b,c;

doublepower(inta,intb);

cout<<"请输入a,b:

";

cin>>a>>b;

c=power(a,b)+power(b,a);

cout<

cout<

cout<

}

doublepower(inta,intb)

{intmul=1,i;

for(i=0;i

mul=mul*a;

returnmul;

}

 

4.

#include

usingnamespacestd;

voidmain()

{

cout<<"学号:

"<

cout<<"========================================="<

intx,y,z,gy,gb;

intmax(intm,intn);

intmin(intm,intn);

cout<<"请输入2个正整数:

";

cin>>x>>y;

if(x

{z=x;

x=y;

y=z;}

gy=max(x,y);

gb=min(x,y);

cout<<"最大公约数是:

"<

cout<<"最小公倍数是:

"<

}

intmax(intm,intn)

{

intt;

t=m%n;

while(t!

=0)

{

m=n;

n=t;

t=m%n;

}

returnn;

}

intmin(intm,intn)

{

intmax(int,int);

return(m*n)/max(m,n);

}

 

5.

#include

usingnamespacestd;

voidmain()

{

cout<<"学号:

"<

cout<<"========================================="<

intm,n,i,j,sum;

sum=0;

boolfact(inti);

cout<<"请输入2个正整数m,n:

";

cin>>m>>n;

for(i=m;i<=n;i++)

if(fact(i))

sum=sum+i;

cout<

"<

}

boolfact(intm)

{

intsum=0,i;

for(i=1;i

if(m%i==0)

sum=sum+i;

if(sum==m)

returntrue;

else

returnfalse;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1