利用递归方法实现一个函数,该函数能够实现n的阶乘,即 n! = n*(n-1)*…*3*2*1
2016-04-23 19:49
357 查看
利用递归方法实现一个函数,该函数能够实现n的阶乘,即n!
= n*(n-1)*…*3*2*1
代码如下:
#include <stdio.h>
int func(int n)
{
if(n == 1)
{
return 1;
}
else if(n > 0)
{
return (n * func(n - 1));
}
else
{
printf("error\n");
}
}
int main()
{
int n;
int s;
printf("please input n:\n");
scanf("%d",&n);
s = func(n);
printf("%d!=%d\n",n,s);
return 0;
}
下面是不用递归方法实现n的阶乘的程序的代码:
#include <stdio.h>
int main()
{
int n;
int i;
int s = 1;
printf("please input n:\n");
scanf("%d",&n);
printf("%d!=",n);
for(i = n; i > 1; i--)
{
s *= i;
printf("%d*",i);
}
printf("1=%d\n",s);
return 0;
}
= n*(n-1)*…*3*2*1
代码如下:
#include <stdio.h>
int func(int n)
{
if(n == 1)
{
return 1;
}
else if(n > 0)
{
return (n * func(n - 1));
}
else
{
printf("error\n");
}
}
int main()
{
int n;
int s;
printf("please input n:\n");
scanf("%d",&n);
s = func(n);
printf("%d!=%d\n",n,s);
return 0;
}
下面是不用递归方法实现n的阶乘的程序的代码:
#include <stdio.h>
int main()
{
int n;
int i;
int s = 1;
printf("please input n:\n");
scanf("%d",&n);
printf("%d!=",n);
for(i = n; i > 1; i--)
{
s *= i;
printf("%d*",i);
}
printf("1=%d\n",s);
return 0;
}
相关文章推荐
- 计算机病毒实践汇总二:bufferzone沙盘使用体验
- 模版引擎RazorEngine简介
- kruskal模板
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- 《Android 开发艺术探索》读书笔记五 IPC机制之Serialzable接口和Parcelable接口
- IOS设计: 图形性能分析
- bzoj 1467: Pku3243 clever Y (扩展BSGS)
- Promiscuous Mode
- jdk的安装和环境的配置
- ffmpeg给影片添加水印
- 221. Maximal Square
- 协会网站代码review之SQL实现模糊查询
- Android 开源项目分类汇总
- 钢琴基础
- 数据库红皮书
- iOS 数据持久化(1):属性列表与对象归档
- drivers/mfd/Mfd-core.c
- iOS 动画-时钟
- 搭建php环境
- 专题二总结