admin管理员组

文章数量:1566223

2024年3月26日发(作者:)

实验4 函数-模块化程序设计

一、 实验目的

1.掌握C函数的定义方法、函数的调用方法、参数说明以及返回值。掌握实参与形参的对应

关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法;

2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法;

3.在编程过程中加深理解函数调用的程序设计思想。

二、 实验环境

PC微机

Windows 操作系统

VS 2019 程序集成环境

三、 实验内容与步骤

4.编写一个计算组合数的函数combinNum(int m,int n)。计算结果由函数返回。

计算组合数的公式是:

c(m,n)=m!/(n!*(m-n)!)

要求:

(1)从主函数输入m和n的值。对m>n、m

combinNum(m,n),在主函数内输出结果值。

(2)对m>n、m

代码:

#include

int fac(int m)

{

}

int combin(int m, int n)

{

int sum = 1;

for (int i = m; i >= 1; i--) {

}

return sum;

sum *= i;

}

int a = fac(m);

int b = fac(n);

int N = fac(m - n);

return a / (b * N );

int main()

{

}

实验结果:

① m > n:

int m, n;

scanf("%d %d", &m, &n);

if (m == n || n == 0) printf("1");

else if (m < n || m < 0 || n < 0) printf("please input right number");

else printf("%d", combin(m, n));

return 0;

② m == n:

③ m < n:

实验分析:

本题首先要将m和n的所有情况讨论清楚,然后求组合数时在combin函数里嵌套三个求阶乘的函数分别求公式

中三个成分的值比递归调用combin函数来求解简单。

5.整数a,b的最大公约数是指既能被a整除又能被b整除的最大整数。整数a,b的最小公倍数

是指既是a的倍数又是b的倍数的最小整数。编写两个函数,一个函数gcd()的功能是求两个整数的

最大公约数,另一个函数mul()的功能是求两个整数的最小公倍数。

要求:

(1) 两个整数在主函数中输入,并在主函数中输出求得的最大公约数和最小公倍数。

代码:

#include

int main()

本文标签: 函数调用整数程序设计