C++ 实验4 函数的定义与调用(下)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验4 函数的定义与调用(下)

Visual C++控制台应用程序设计

一、实验目的

1、掌握变量的分类、作用域、生存期、存储类别;

2、掌握递归函数的定义以及调用方法;

3、掌握函数的重载。

二、实验内容

Visual C++控制台应用程序设计

要求:(1)自己独立编写出完整程序,注意书写格式,熟练掌握程序的结构;

(2)按照正确的步骤进入vc++环境,在自己创建的工程中录入源程序,消除语法错误,编译、连接程序;

(3)运行程序,输入数据观察结果。

1、分析并写出下列程序的执行结果。

#include

using namespace std;

int a=300,b=400,c=500;

void funa( int c)

{static int a=5;

a+=c;

cout<

void funb( int a)

{a=b;

cout<

void func()

{int c=0;

cout<

::c-=100;}

int main( )

{funa(a);funb(b); funa(b);func();

cout<

return 0;}

2、利用递归实现n!。

3、利用递归解决汉诺塔问题。

4、输入一个整数,用递归算法将整数倒序输出。

5、编写几个计算面积的函数,分别计算圆、矩形、梯形和三角形的面积,并计算边长为1的正方形、及其内切圆、内接等腰三角形(地边与正方形一条边重合)和等腰梯形(下底边与正方形一条边重合,上底边长度为正方形边长的一半)的面积。

参考程序:

double area(double r) {return PI*r*r;}

double area(double a, double b) {return a*b;}

double area(double a, double b, double h) {return (a+b)*h/2;}

double area(double a, double b, double c,int)

{double s=(a+b+c)/2;

return sqrt(s*(s-a)*(s-b)*(s-c));}

main()

{cout<<“area of square is”<

cout<<“area of cicle is”<

其中m 、n 为正整数。设计程序求Acm(2,1),Acm(3,2)。 7、用递归函数实现勒让德多项式:

在主函数中求P 4(1.5)。

⎪⎩

⎪⎨⎧>>--==+=0m 0,n ))1,(,1(

0n 11 0m 1),(n m Acm m Acm ),Acm (m -n n m Acm ⎪⎩⎪⎨⎧>---===--1n

/))()1()()12((1n

0n

1)(21n x P n x xP n x x P n n n

相关文档
最新文档