求n的阶乘c语言

如题所述

下面是求n的阶乘的C语言代码,及其解析:

```c#include<stdio.h>int main(){int n,i;long long fact=1;printf("请输入一个正整数:");scanf("%d",&n);//如果n大于等于0并且小于等于20,则进行阶乘运算if(n>=0&&n<=20)。

{for(i=1;i<=n;++i){fact*=i;//累乘,计算阶乘}printf("%d的阶乘=%lld\n",n,fact);}else{printf("输入的数超出范围!\n");}return 0;}。

代码解析:

1.`#include<stdio.h>`:引用标准输入输出头文件。

2.`int main()`:程序从这里开始执行。

3.`int n,i;`:定义了两个类型为`int`的变量来存储输入的数和用于循环计算的变量。

4.`long long fact=1;`:因为阶乘结果可能会很大,所以将`fact`的类型设为`long long`,一开始将它初始化为1。

5.`printf("请输入一个正整数:");`:提示用户输入一个正整数。

6.`scanf("%d",&n);`:获取用户输入的数并存储到变量`n`中。

7.`if(n>=0&&n<=20)`:如果`n`大于等于0并且小于等于20,进入下面的循环计算。

8.`for(i=1;i<=n;++i)`:循环计算阶乘,从1一直乘到`n`。因为阶乘中不能有0,所以不能从0开始计算。

9.`fact*=i;`:累乘,将每次循环得到的变量`i`乘到`fact`中。

10.`printf("%d的阶乘=%lld\n",n,fact);`:输出结果。

11.`else`:如果输入的数超出了范围,输出错误提示信息。

12.`return 0;`:程序结束并返回0。

温馨提示:答案为网友推荐,仅供参考
相似回答