#include <stdio.h>              //包含标准库的信息int main(void)                  //每个程序都从main函数的起点开始执行
{                               //函数开始int p = 1;int n;printf("请输入所求阶乘:\n");scanf("%d",&n);for (int i = 2; i <= n ; ++i) {p = p * i;}printf("%d! = %d",n,p);return  0;
}                               //函数结束

运行结果

法二、函数调用

#include <stdio.h>              //包含标准库的信息
int main(void)                  //每个程序都从main函数的起点开始执行
{int fac(int n);             //函数声明int n ,y;printf("input an integer number:");scanf("%d",&n);             //输入要求阶乘的数y = fac(n);printf("%d!=%d\n",n,y);return 0;
}
int fac(int n)                  //定义fac函数
{int f;if(n<0)                     //不能求0以下的阶乘printf("n<0,data errot!");else if(n == 0||n==1)       //n=0或1时,n! = 1f=1;else f=fac(n-1)*n;          //n>1时,n! = n * (n - 1)return (f);
}

运行结果

三、输出1到5的阶乘值

#include <stdio.h>              //包含标准库的信息
int main(void)                  //每个程序都从main函数的起点开始执行
{int fac(int n);             //函数声明for (int i = 1; i <= 5; ++i) {  //先后5次调用fac函数printf("%d! = %d\n",i,fac(i));  //每次计算并输出i!的值}return 0;
}
int fac(int n)
{static int f = 1;    //定义静态局部变量,f保留了上次调用结束时的值f = f * n;          //在上次f值的基础上再乘以nreturn (f);           //返回值f是n!的值
}

运行结果

补充一组用python求阶乘的代码,可以对比一下

#递归实现阶乘
def f(n):if n==1:return 1else:return n*f(n-1)
f(5)

#不用递归方式实现阶乘
def f(n):s=1for i in range(1,n+1):s=i*sreturn s
f(5)

【C语言】求一个数的阶乘相关推荐

  1. c语言求一个数的阶乘值代码,求10000的阶乘(c语言代码实现)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...

  2. python练习题(python之“求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数” 等)

    实验环境:python2.7 题目1:python之"求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数" 程序: import math def factorial(n): ...

  3. php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...

    详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...

  4. C++和C语言求解一个数的阶乘以及多个数的阶乘之和

    第一个问题,求解一个数的阶乘,一个数的阶乘等于从它本身一直乘到1. 以下为源代码: 第二个问题:求多个数的阶乘之和,通过上面的代码,我们已经会求解一个数的阶乘,那么多个数的阶乘我们只需要再加一个循环, ...

  5. 用C语言求三个数的最大值与排序

    用C语言求三个数的最大值与排序 1.用C语言求三个数的最大值 语法:if语句 代码如下: #include<stdio.h> int main() {int a, b, c;printf( ...

  6. 如何用C语言求两个数的较大值

    用C语言求两个数的较大值,有两种方法: 1,常规方法,利用选择语句的 if 语句 #include<stdio.h> int main() {int a=10;int b=20;if (a ...

  7. 求一个数的阶乘中0的个数

    求一个数的阶乘中0的个数 连续几天产出为负,再不写点东西没法交代了... public class The_number_of_0_in_FactorialN {public static void ...

  8. [Java练习]求一个数的阶乘,并在此基础上求自然对数e的值

    问题:分别用方法递归和循环求一个数的阶乘,并调用此方法求自然对数e的值 e = 1 + 1/2! +1/3! +1/4! +- public class factorial1{public stati ...

  9. python求一个数的阶乘_阶乘计算python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 问题本身很简单,主要是通过这个小问题来演示python的一些用法,例如测试代码运 ...

最新文章

  1. ASA 过滤 URL (图解)
  2. some of the strides of a given numpy array are negative
  3. python编程培训-什么是Python?老男孩Python编程培训
  4. 阿特斯携手EDF启动建设巴西191.5MW光伏项目
  5. react实现浏览器自动刷新_react.js怎么实现刷新当前页面?
  6. 【数据结构】30、hashmap=》hash 计算方式
  7. 国内滴滴面临“讨伐”,国外Uber日子更难过!活该不?
  8. 蓝桥杯 ADV-166算法提高 聪明的美食家
  9. iis运行html提示500错误,IIS7出现HTTP错误500.22的解决办法
  10. Android studio如何导入已有的eclipse工程
  11. ImportError: IProgress not found. Please update jupyter and ipywidgets.
  12. hlw8032功率计测试软件,功率计量芯片LAYOUT指南
  13. 什么是ROM、EPROM、EEPROM、FLASH ROM、RAM?
  14. 你是哪一型---左右脑性格测试(转)
  15. linux6.5 xmanager配置,CentOS6.5安装Xmanager远程桌面
  16. js 伪造referer_javascript操作referer详细解析
  17. C语言 Windows文件选择对话框
  18. 众筹之家9月股权众筹行业简报
  19. git 上传空文件夹
  20. Day20.常用类:Date类、LocalTime、Math类、bigDecimal、Arrays、枚举

热门文章

  1. k米评分容易得高分的歌_《K歌情人》:经典随性的美式甜心
  2. kindeditor在线HTML编辑器简单使用教程
  3. 让我们构建一个文件服务器!
  4. UnderRun和OverRun
  5. 【原创】Linux cpuidle framework
  6. 关于Java Swing ButtonGroup获取用法
  7. Android 8.1实现Systemui 中的NavigationBar的点击隐藏与滑动显示
  8. wifi Direct相关
  9. python中路径写法
  10. android 中如何限制 EditText 最大输入字符数