C语言求n的阶乘(n!)

2023-05-16

从键盘输入一个数,求出这个数的阶乘,即 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*=i};
    printf("%d!=%lf",n,sum);
    printf("\n");
    return 0;
}

调试运行结果

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

5
5!=120.000000

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

20
20!=2432902008176640000.000000

总结

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言求n的阶乘(n!) 的相关文章

随机推荐

  • 【vSphere | Python】vSphere Automation SDK for Python Ⅶ—— Certificate Management APIs(上)

    目录 13 1 Machine SSL xff08 1 xff09 Get vCenter TLS xff08 2 xff09 Renew vCenter TLS 13 2 vCenter Signing Certificate APIs
  • vim安装时报错,“Depends:vim-common (=2:7.4.1689-3ubuntu1.4) but 2:8.0.1453-1ubuntu1.1 is to be installed”

    vim安装时报错 xff0c Depends vim common 61 2 7 4 1689 3ubuntu1 4 but 2 8 0 1453 1ubuntu1 1 is to be installed 解决办法如下 xff1a sud
  • Windows Terminal 终端个性化设置指南

    Windows Terminal 终端个性化设置指南 Windows 终端是一个新式终端 xff0c 它面向你喜爱的命令行 shell xff0c 如命令提示符 PowerShell 和 bash xff08 通过适用于 Linux 的 W
  • 端口扫描器设计实现(Python)

    一 个人感悟 通过本次实验 学习了扫描器设计的基本原理 并动手设计了一个开放端口扫描器 具体原理 1 编写前端GUI 2 学习Socket编程 使用Socket编程的connect方法返回0 为连接成功 实现端口扫描器 改进的地方 如果se
  • Maven配置文件settings.xml详解

    一 配置分级 首先需要了解的是Maven配置文件以及配置方式的分级 xff0c 才能做到我们自己在日常开发配置中灵活使用 根据Maven官方资料 xff0c Maven将配置文件分为两级 xff1a 用户层级全局层级 Maven在运行的时候
  • 移动端视觉SLAM学习笔记 (五) 参数设置

    考虑到后续的各项参数 xff0c 这里先把配置文件和参数设置界面做好 xff0c 后面增加的参数就都可以添加进来了 Android本身参数设置的框架 xff0c 包括配置文件和设置界面 xff0c 也就是PreferenceFragment
  • Lambda — Stream API常用工具类

    最近发现代码里面大量处理集合的lambda表达式 xff0c 所以想着封装个常用工具类 xff0c 用来快速调用 xff0c 直接贴代码 只需传入集合 xff0c Function xff0c Predicate xff0c Compara
  • Java获取当前的UTC时间

    Java获取当前的UTC时间 Java获取当前的UTC时间Calendar与TimeZone结论 xff1a 因此想要获取UTC时间可以修改系统默认时区或转换时区修改系统默认时区SimpleDateFormat 转换时区 Instant J
  • springboot+security报错405方法不支持解决方法

    在使用 Spring Boot 和 Spring Security 进行 Web 开发的过程中 xff0c 有时候会遇到 HTTP 错误码为 405 的错误 HTTP 错误码 405 表示 方法不允许 xff0c 也就是客户端请求使用的 H
  • pip 安装faiss 不能用,使用conda安装并使用faiss成功

    pip 安装faiss 安装过程没有报错 xff0c import时候必报错 xff01 xff01 xff01 1 安装cpu版本faiss pip default time 61 1000 install i https pypi tu
  • busybox 网络相关

    busybox 瑞士军刀 包含很多linux unix 平台的有用utilities 比如sh ls cat grep touch chmod chown cp mv vi stat等等等 包括系统常用工具 编辑器 shell 文件操作 文
  • linux glibc2.12到2.14升级

    linux centos glibc 2 12 到 2 14 有些软件可能要求系统的 Glibc 高于某个版本才可以正常运行 如果您的 Glibc 低于要求的版本 xff0c 为了运行这些软件 xff0c 您就不得不升级您的 Glibc 了
  • Ubuntu 开机自定义脚本启动(最全版)

    一 背景 同伴在频繁更新系统环境 xff0c 需要经常使用reboot命令重启 xff0c 但每次重启后端Jar都会停止 xff0c 每次重启都需要手动启动Web后端Jar包 针对此种情况 xff0c 想到了采用开机自动启动Jar包的方法来
  • pycharm 中让python程序暂停的几种方法

    1 input 这种方法不用包含模块 xff0c 因此这也是最常用的一种暂停手段 Python2中的raw input 和input 语句在Python3中已经被合并到input 中 2 os system 34 pause 34 这种方法
  • 关于 Win32API 中的 LoadLibrary

    有人说 反射反射 xff0c 程序员的法宝 这句话一点也没有错 如果能够动态的加载类和方法 xff0c 就等于彻底的解除了类和类 xff0c 方法和方法的耦合 当然 xff0c 这样编译器就无法帮你检查出其中的错误了 xff0c 还是有一定
  • ViewPage+RadioGroup实现Tab切换

    以前写过一篇也是Tab切换的文章 xff0c 当时做安卓一年左右 xff0c 单纯觉得这样能实现功能 xff0c 但是没有注意到性能和代码简洁性的问题 xff0c 文章为 http blog csdn net nzzl54 article
  • 学科前沿技术(高性能计算机)

    高性能计算机 xff1a 二十世纪八 九十年代是高性能计算机丰富多彩的时期 xff0c 各种体系结构的系统争奇斗妍 进入二十一世纪 xff0c 高性能计算机产业逐渐成熟 xff0c 用户面大大扩大 xff0c 技术也不断聚焦 工业界认为 x
  • 异常行为分析模型设计

    本文针对异常访问现状及问题进行简要描述 xff0c 在此基础上提出基于一元线性回归的最小二乘法异常访问分析模型 xff0c 通过该模型解决了异常访问中时间与访问间相关性问题 异常访问是指网络行为偏离正常范围的访问情况 异常访问包含多种场景
  • CSS 参考手册

    CSS 参考手册 CSS 参考手册 CSS 选择器 W3School 的 CSS 参考手册定期通过所有主流浏览器进行测试 CSS 属性 CSS 属性组 xff1a 动画背景边框和轮廓盒 xff08 框 xff09 颜色内容分页媒体定位可伸缩
  • C语言求n的阶乘(n!)

    从键盘输入一个数 xff0c 求出这个数的阶乘 xff0c 即 n 算法思想 首先要清楚阶乘定义 xff0c 所谓 n 的阶乘 xff0c 就是从 1 开始乘以比前一个数大 1 的数 xff0c 一直乘到 n xff0c 用公式表示就是 x