实验一 C++开发环境与程序设计步骤(7)

2019-01-26 14:55

运行结果:

请输入X的值 10

求和结果为:55

mc2.编写程序,输入m和n(n>m),求n的值。

分析:已知

n!c?m!(n?m)!

mnmc根据公式,只要自定义一个函数计算阶乘,即可通过函数调用求出n的值。

解:

阶乘函数定义如下: 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<<\l1: cout<<\

} { }

cin>>n;

cout<<\cin>>m; if (n

c= fact(n)/( fact(m)* fact(n-m));

cout<<\ //B 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; }

思考:

? 分别输入n=0,1,3,m=0,1,2测试程序。 ? 试用静态存储变量设计阶乘函数。

3.编写程序,求两个自然数m和n的最大公约数和最小公倍数。 分析:

最大公约数就是能同时整除m和n的最大正整数,可用欧几里德算法(也称辗转相除法)求解。应用欧几里德算法计算两个数的最大公约数的方法是:求两个数(m、n)相除的余数r(r=m/n m>n),当余数不为零时,m取n的值,n取r的值,再求两个数相除的余数,反复进行直到余数为零,除数n是最大公约数。

最小公倍数=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<<\ cin>>m>>n; e=fun1(m,n); d=m*n/e; cout<<\最大公约数为:\ cout<<\最小公倍数为:\} 思考:

? 输入两个数m=36,n=24观察程序运行结果。

? 用递归调用的方法实现程序编写,参考程序如下: # 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<<\cin>>m>>n; e=fun1(m,n); d=m*n/e;

cout<<\最大公约数为:\cout<<\最小公倍数为:\}

? 编写计算三个数最大公约数的程序。

4.分别输入整数半径和实数半径,使用函数重载计算圆的面积。

分析:由于参数只有一个圆的半径,所以只能对不同类型的参数实现重载。 解:程序如下

#include #define PI 3.14 int area(int); float area(float); void main() { int r1; cout<<\输入一个整型半径r=:\ cin>>r1; cout<<\ float r2; cout<<\输入一个实型半径r=:\ cin>>r2; cout<<\}

int area(int x) { return PI*x*x; }

float area(float x) {

return PI*x*x;

} 思考:

? 编写重载函数实现对两个整型数、三个整型数、两个实型数、三个实型数等求最小值。 5.使用内联函数计算长方形的面积。

分析:C++编译器在调用遇到内联函数的地方,会用函数体中的代码替换函数。 解:

一个完整的内联函数参考程序如下: #include float s(float x,float y); void main() {

float a,b;

cout<<\ cin>>a>>b;

cout<<\}

inline float s(float x,float y) {

return x*y; }

思考:

? 将程序中的内联函数进行代码替换,并上机运行,观察结果。

(二)完成实验项目

1.编写函数求:

1?12?13?14?15?16?171???n2.用函数调用方法打印

九九表乘法。

3.以下函数是用递归方法计算x的n阶勒让德多项式的值。已有调用语句“p(n,x);”,编写poly函数。递归公式如下:


实验一 C++开发环境与程序设计步骤(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司组织外出旅游的通知 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: