下载此文档

实验三函数.doc


文档分类:高等教育 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
实验三函数调用
一、目的和要求
,理解函数的调用;
、嵌套调用;
,以及参数默认值的设置。
、内联函数的基本概念。
二、实验设备及分组
1.  Windows2000以上操作系统;
2.  Visual C++;
3.  每人一台PC机。
三、内容和步骤
(一)验证实验程序
,用递归的方法求1+2+3+4+…+n的值。在主函数中进行输入输出。
解:
#include <>
int fun(int n)
{
int z;
if(n<=0)
z=0;
else
z=n+fun(n-1);
return(z);
}
void main(void)
{
int x,sum;
cout<<"请输入X的值"<<endl;
cin>>x;
sum=fun(x);
cout<<"求和结果为:"<<sum<<endl;
}
运行结果:
请输入X的值
10
求和结果为:55
,输入m和n(n>m),求的值。
分析:已知
根据公式,只要自定义一个函数计算阶乘,即可通过函数调用求出的值。
解:
阶乘函数定义如下:
double fact(int k)
{
int p=1;
if((k==0)||(k==1))
return p;
else
{
for(int i=1;i<=k;i++)
p=p*i;
return p;
}
}
一个完整的参考程序如下:
#include <>
double fact(int);
void main()
{
int m,n;
double c;
cout<<"please input"<<endl;
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
if (n<m) {
cout<<"n must bigger than m!,please reinput:"<<endl;
goto l1;
}
c= fact(n)/( fact(m)* fact(n-m));
cout<<"c="<<c<<endl;
}
double fact(int k)
{
int p=1;
if((k==0)||(k==1))
return p;
else
{
for(int i=1;i<=k;i++) p=p*i;
return p;
}
}
思考:
l         分别输入n=0,1,3,m=0,1,2测试程序。
l         试用静态存储变量设计阶乘函数。
,求两个自然数m和n的最大公约数和最小公倍数。
解:
#include <>
int fun1(int c,int d)
{
int r;
r=c%d;
while(r!=0)
{
c=d;
d=r;
r=c%d;
}
return d;
}
void main()
{
int m,n,e,d;
cout<<"m n=";
cin>>m>>n;
e=fun1(m,n);
d=m*n/e;
cout<<" 最大公约数为:"<<e<<endl;
cout<<" 最小公倍数为:"<<d<<endl;
}
思考:
l         输入两个数m=36,n=24观察程序运行结果。
l         用递归调用的方法实现程序编写,参考程序如下:
# include <>
int fun1(int c,int d)
{
int r;
r=c%d;
if(r!=0)
{
c=d;
d=r;
fun1(c,d);
}
return d;
}
void main()
{
int m,n,e,d;
cout<<"m n=";
cin>>m>>n;
e=fun1(m,n);
d=m*n/e;
cout<<" 最大公约数为:"<<e<<endl;
cout<<" 最小公倍数为:"<<d<<endl;
}
l         编写计算三个数最大公约数的程序。
,使用函数重载计算圆的面积。
分析:由于参数只有一个圆的半径,所以只能对不同类型的参数实现重载。
解:程序如下
#include <iostre

实验三函数 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1136365664
  • 文件大小185 KB
  • 时间2017-12-11
最近更新