【深大C语言OJ】n!(循环)

题目描述

计算n!,就是计算1*2*3*...*n的乘积。注意0!=1。

输入

n的值

输出

n!的值

样例输入

5

样例输出

5!=120

思路

1.读取输入:从标准输入中读取一个整数n,表示要计算阶乘的数。
2.初始化阶乘结果:创建一个变量 factorial 并将其初始化为1,因为任何数的阶乘乘积的初始值为1。
3.计算阶乘:使用循环从1到n,将每个数乘到 factorial 上,得到阶乘的结果。
4.输出结果:将计算得到的阶乘结果输出到标准输出,带有相应的标记,例如 "n!=result"。


这种循环计算阶乘的方法是比较直接的。在循环中,我们将1到n的每个数都乘到 factorial 上,最终得到 n 的阶乘。在循环结束后,输出结果。

注意:题目中提到 0! = 1,所以在计算阶乘之前需要将 factorial 初始化为1。

错误示范1:int factorial = 0;将存储阶乘结果的变量初始化为0。
            需要注意累乘和累加的区别,累乘应该初始化为1,否则后面累乘的结果永远为0。


错误示范2:for (int i = 1; i <n; i++)漏了=号,此时没有乘上n。
            需要注意累乘的范围,即1-n。


错误示范3:printf("%d", factorial);;输出格式错误,只输出了结果。
            需要注意题目的输出,如5!=120。注意中英文的感叹号不一样。!!
 

参考代码

#include <stdio.h>

int main()
{
  int n;

  // 读取输入
  scanf("%d", &n);

  // 初始化阶乘结果为1
  int factorial = 1;

  // 计算阶乘
  for (int i = 1; i <= n; i++)
  {
    factorial *= i;
  }

  // 输出结果
  printf("%d!=%d", n, factorial);

  return 0;
}

(by 归忆) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归忆_AC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值