c语言实现阶乘的方法

从键盘输入一个数,求出这个数的阶乘,即 n!。

算法思想

首先要清楚阶乘定义,所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n!

具体的操作:利用循环解决问题,设循环变量为 i,初值为 1,i 从 1 变化到 n;依次让 i 与 sum 相乘,并将乘积赋给 sum。

① 定义变量 sum,并赋初值 1。

② i 自增 1。

③ 直到 i 超过 n。

程序代码

#include <stdio.h>int main(){    int i,n;    double sum=1;    scanf("%d",&n);    for(i=1;i<=n;i++)        sum=sum*i;    printf("%d!=%lf",n,sum);    printf("\n");    return 0;}

调试运行结果

输入 5,对应的阶乘输出情况如下所示;

55!=120.000000

输入20,对应的阶乘输出情况如下所示:

2020!=2432902008176640000.000000

总结

① 由于阶乘一般较大,会超出整型甚至是长整型所能表示的范围,因此定义变量时就不能定义为整型,而应该考虑双精度数。

② 实训中定义了一个双精度型的变量,用来存放结果。因此在输出时应注意双精度数的输出格式。

推荐教程:c语言教程

更多相关文章

  1. c语言自定义函数
  2. c语言计算阶乘累加和
  3. C语言自定义函数返回数组的方法(图文详解)
  4. C语言怎么定义字符串数组
  5. c语言的阶乘函数如何用递归定义?
  6. C语言如何定义变量
  7. C语言自定义函数(图文详解)
  8. c++定义数组的方法
  9. C语言中在main函数中定义的变量是全局变量么

随机推荐

  1. android工程下运行main方法的配置方法
  2. Android期末复习(3)-service
  3. android中的surface原理
  4. Xposed框架之函数Hook学习
  5. 获取web服务器xml数据
  6. ANDROID Porting系列五、定制化
  7. Android——用户登陆及用户名和密码的保
  8. Android(安卓)Studio单元测试
  9. android AIDL服务
  10. Android入门系列(一)--Android的目录结构