求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。