第四周《C语言及程序设计》实践项目5 认识递归
Posted weixin_35827498
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四周《C语言及程序设计》实践项目5 认识递归相关的知识,希望对你有一定的参考价值。
【项目-递归函数】
/*
* 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)
留着...
以上是关于第四周《C语言及程序设计》实践项目5 认识递归的主要内容,如果未能解决你的问题,请参考以下文章