提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

题目:

[实验案例3:函数的递归调用]

编写函数求两个数的最大公约数,采用递归法计算两数的最大公约数。

[实验指导]

分析:m、n为两个数,用辗转相除法求其最大公约数:将m、n中的大数放入m中,m为被除数,r=m%n。本案例采用递归法定义递归函数gcd( )求最大公约数。求m和n的最大公约数等价于求n与(m mod n)的最大公约数,则有gcd(m,n)函数等价于gcd(n,(m mod n))函数。递归调用函数gcd( )中递归构成如下:

1. 当m%n==0时,结束递归gcd(m,n)=n;

2. 否则,继续递归调用gcd(m,n)=gcd(n,(m mod n))。

代码:

/*编写函数求两个数的最大公约数,采用递归法计算,文件名sy7-3.c */
#include <stdio.h>
#include <math.h>
int main()                             /*定义主函数*/
{double gcd(double, double);          /*函数原型*/double m,n,g;printf("请输入整数m、n的值: ");scanf("%lf%lf",&m,&n);g=gcd(m,n);                                /*调用gcd( )函数*/printf("gcd(%2.0f,%2.0f) =%5.0f ",m,n,g) ;return 0;
}
double gcd(double a,double b)                  /*定义gcd( )函数*/
{if(b==0)                                /*递归调用终止条件*/return(a);else return(gcd(b,fmod(a,b)));               /*递归调用*/}

结果:


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了函数的递归调用。

编写函数求两个数的最大公约数,采用递归法计算两数的最大公约数。相关推荐

  1. python编写函数求n阶调和数_Python实现调和级数的计算

    最近在复习数学分析的时候,看到调和级数是发散的,想起上学期学过的python,于是想用python来实现调和级数的简单计算. 首先补充一下调和级数的定义吧: Sn=1+1/2+1/3+1/4+...+ ...

  2. 【勇敢牛牛,不怕困难】有手就行栏目:头歌教学平台 - 湖南工业大学刘强老师的C语言函数实战课堂作业答案 - > - > {求和+回文数计算+编写函数求表达式的值+阶乘数列+亲密数+公约数公倍数求解}

    第一关:求和 任务描述 题目描述:给你一个n,要求你编写一个函数求1+2+-+n. 输入 输入一个n 输出 输出1+2+-+n的和 测试说明 样例输入: 100 样例输出: 5050 分析: 这个是真 ...

  3. c语言中求大于的函数,c语言编写函数,求一组数中大于平均值的数的个数.

    C语言编写程序 给定一组数,求大于0,等于0,小于0的数据个数 #define N 10 main(){int num1=0,num2=0,num3=0,i;for(i=0;i 一道C语言题目:求一组 ...

  4. mysql编写函数 求1 n 偶数之和,编写求1 2 3 - n的函数.在main函数中调用该函数

    输入两个正整数m,n,编写求阶乘的函数,计算m!/(n!*(m-n)!). C语言函数解答,谢谢. #includelongfactorial(intm,intn){longsum=1,sum1=1; ...

  5. c语言学习-自定义并调用函数求三个数的最小公倍数

    c语言自定义并调用函数求三个数的最小公倍数 程序流程图: 代码: #include<stdio.h> int la1(int m ,int n,int p); int la2(int m ...

  6. EduCoder-程序设计技术R-函数-(第1关:求和)(第2关:回文数计算)(第3关: 编写函数求表达式的值)(第4关:阶乘数列)(第5关:亲密数)(第6关:公约公倍数)

    目录 第1关:求和 代码示例 第2关:回文数计算 代码示例 第3关: 编写函数求表达式的值 代码示例 第4关:阶乘数列 代码示例 第5关:亲密数 代码示例 第6关:公约公倍数 代码示例 第1关:求和 ...

  7. 实验2.5 用递归的方法编写函数求Fibonacci 级数,观察递归调用的过程

    题目 用递归的方法编写函数求Fibonacci 级数,观察递归调用的过程 AC的C++代码如下: #include<iostream> using namespace std; int f ...

  8. 使用匿名函数求三个数的最大值

    使用匿名函数求三个数的最大值: x=input("第一个数:") y=input("第二个数:") z=input("第三个数:") a=( ...

  9. 编写函数求特殊a串和

    6-1 编写函数求特殊a串和 前言 学习python的日常 提示:以下是本篇文章正文内容,下面案例可供参考 题目: 给定两个均不超过9的正整数a和n,要求编写函数fn(a,n) 求a+aa+aaa++ ...

最新文章

  1. 关于数据库中NULL的描述,下列哪些说法符合《阿里巴巴Java开发手册》
  2. 写作MIMO,LDPC误码率仿真
  3. 使用jmeter对ActiveMQ集群性能方案进行评估--转载
  4. 【转】名企献身说法:我们喜欢这样的简历
  5. linux superblock 时间,Linux命令(八)
  6. 易安卓 html5,Developing a Multi Platforms Web Applications for Mobile Device Using HTML5
  7. Ubuntu18使用docker快速安装oracle 11g
  8. LeetCode栈专题-1(go/py3/c++)
  9. webpack多个Html,使用webpack构建多页面应用
  10. java object怎么拿字段_「Java面试秘籍」String不可变,如何理解
  11. python全套教程大全-千锋出品全套python视频教程,400大全集,你了解吗?
  12. hibernate 反向生实体类 and 为什么老是多一个id
  13. AWS中国EC2 80端口无法访问
  14. 多态性练习:定义一个基类BaseClass,从他派生出类DerivedClass。BaseClass有成员函数 fn1(),fn2()
  15. excel 自动生成目录
  16. 美国主要经济数据解注释
  17. 跨越信息沟通的障碍,构建企业高效应用平台
  18. 安利几本好看的书给你
  19. 【unmatched host】nfs挂载 提示“: refused mount request from xx for /nfsdata (/nfsdata): unmatched host ”
  20. 广西桂林公安:借力大数据 构建大平安

热门文章

  1. 如何解决Linux乱码问题
  2. 一点关于线程和摇奖机
  3. obs windows 编译 obs browser
  4. ITE Super IO - 串口
  5. python字符串(二)
  6. 服务器生成js文件,Next.js 静态生成和服务器端渲染
  7. 使用Save To Notion 保存豆瓣书籍或电影的惨痛教训/Save to Notion保存豆瓣电影不显示封面
  8. 活体检测——专利调研
  9. return与finally到底谁先执行
  10. 逃离贼船?新方舟需要我们去创造。