第四周《C语言及程序设计》实践项目5 认识递归

来源:互联网 发布:plc能用c语言编程吗 编辑:程序博客网 时间:2024/05/17 01:32

【项目-递归函数】

/*   * Copyright (c) 2016, CSDN学院   * All rights reserved.   * 文件名称:【项目-递归函数】 .cpp   * 作    者:张易安   * 完成日期:2016年 9 月 15 日   * 版 本 号:v1.0   *   * 问题描述:(1)立方累加和:用递归函数求f(n)=13+23+...+n3,要求先将f(n)数学表达式表示成递归的形式,然后再编程序实现。  */#include<stdio.h>int cube(int n);int main(){int n;printf("请输入一个数:\n");scanf("%d",&n);printf("f(n)=%d\n",cube(n));return 0; } int cube(int n){if(n==1)  return 1;else   return n*n*n+cube(n-1);}

运行结果


(2)

/*   * Copyright (c) 2016, CSDN学院   * All rights reserved.   * 文件名称:【项目-递归函数】 .cpp   * 作    者:张易安   * 完成日期:2016年 9 月 15 日   * 版 本 号:v1.0   *   * 问题描述:写出求1?3?...?n的递归式,并编写出递归函数求解。 。 */#include<stdio.h>long f(int);int main(){int n;long y;printf("请输入一个数:");scanf("%d",&n);if(n%2==0)  y = f(n);else  y = f(n-1);printf("%d以内的奇数积是:%ld\n",n,y);return 0;}long f(int n){long s;if(n==1)  s=1;else  s=f(n-2)*n;return s;}
运行结果



(3)

/*   * Copyright (c) 2016, CSDN学院   * All rights reserved.   * 文件名称:【项目-递归函数】 .cpp   * 作    者:张易安   * 完成日期:2016年 9 月 15 日   * 版 本 号:v1.0   *   * 问题描述:(3)编程序,用递归函数求出两个数的最大公约数。(包括编main函数,调用定义的递归函数) */#include<stdio.h>int gcd(int a,int b);int main(){int n,m;printf("请输入两个数字:\n");scanf("%d %d",&n,&m);printf("这两个数的最大公约数为:\n");printf("%d",gcd(n,m));return 0;}int gcd(int a,int b){int i,j;if(a<b){i=a;a=b;b=j;}if(b==0)  j=a;else  j=gcd(b,a%b);  return j;  }
运行结果

(4)

留着...

0 0