C语言递归函数举例(在 visua C++ 6.0 中运行)
发布日期:2021-05-04 20:09:20 浏览次数:24 分类:精选文章

本文共 2022 字,大约阅读时间需要 6 分钟。

C语言程序举例

1、1 到 n 的累加

#include
void main(){ int i; int n; scanf("%d",&n); int sum( int n); printf("%d",sum(n));}int sum(int n){ if(n < 0) return 0; if(n == 1) return 1; else return n + sum(n-1);}

2、递归求阶乘

#include
double fact(int n);double factsum(int n);double main(){ int n; scanf("%d",&n); printf("%lf\n",fact(n)); printf("%lf",factsum(n)); return 0;}double fact(int n){ if(n == 1 || n == 0) return 1; else return (double)n * fact(n-1);}double factsum(int n){ int i; double sum = 0; for(i = 1;i <= n;i++) { sum += fact(i); } return sum;}

3、递归指数函数

#include
double calc_pow(double,int);int main(){ int x,n; scanf("%d,%d",&x,&n); printf("x的n次方值为:%lf",calc_pow(x,n));}double calc_pow(double x,int n){ if(n == 0) return 1; return x * calc_pow(x,n-1);}

4、交集密集函数

#include
#include
double fn(double x,int n);int main(){ int x,n; scanf("%d,%d",&x,&n); printf("交错幂级函数值为:%lf",fn(x,n)); return 0;}double fn(double x,int n){ if(n == 1) return x; else return pow(-1,n-1) * pow(x,n) + fn(x,n-1);}

5、计算Ack函数

#include
int Ack(int m,int n);int main(){ int m,n; scanf("%d,%d",&m,&n); printf("%d",Ack(m,n));}int Ack(int m,int n){ if(m > 0 && n > 0) return Ack(m-1,Ack(m,n-1)); else if(n == 0 && m > 0) return Ack(m-1,1); else if(m == 0) return n + 1;}

6、斐波拉契数列

#include
int f(int n);int main(){ int n; scanf("%d",&n); printf("%d",f(n));}int f(int n){ if(n == 0) return 0; if(n == 1 || n == 2) return 1; else return f(n-1)+f(n-2);}

7、十进制转二进制

#include<stdio.h>

void dectobin(int n);int main(){   	int n;	scanf("%d",&n);	dectobin(n);    return 0;}void dectobin(int n){   	if(n == 0)		printf("0");	else if(n == 1)		printf("1");	else	{   		dectobin(n / 2);		printf("%d",n % 2);	}}

8、按顺序输出整数

#include
void printdigits(int n);int main(){ int n; scanf("%d",&n); printdigits(n); return 0;}void printdigits(int n){ if(n<10) { printf("%d\n",n); } else { printdigits(n / 10); printf("%d\n",n % 10); }}
上一篇:Python GUI tkinter库 自学1
下一篇:C语言控制语句举例(在 visua C++ 6.0 中运行)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年03月26日 21时39分58秒