C语言 求n的阶乘及阶乘和
Posted 一朵花花
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 求n的阶乘及阶乘和相关的知识,希望对你有一定的参考价值。
题目
随机输入一个整数n,求出n的阶乘
思路
阶乘,每次乘的数依次递增,直到第n个数,因此我们可以设置一个变量result,用于储存每一次的运算结果。且每次乘的数都依次递增,可以使用for循环语句,所以需引入一个新变量i 来控制for循环。
源代码
// 计算n的阶乘
int main()
int result=1;
int n;
printf("请输入你想计算的阶乘数:");
scanf("%d",&n);
for(int i=1;i<=n;i++)
result*=i; //相当于result=result*i
printf("阶乘结果为:%d\\n",result);
system("pause");
return 0;
输出结果(以5!为例)
注意事项
用int类型时,n≤12
因为 13!已经62亿+, 会使int溢出!
n的阶乘再求和
思路:
将上述求n的阶乘定义为一个函数,再在主函数中调用求和即可。
代码附上:
// 求n的阶乘的函数
int factor(n)
int result=1;
for(int i=1;i<=n;i++)
result*=1;
return result;
//阶乘求和
int main()
int sum=0;
int num=0;
printf("请输入你想求和的阶乘数:");
scanf("%d",&num);
for(int i=1;i<=num;i++)
sum+=factor(i);
printf("阶乘和为:%d\\n",sum);
system("pause");
return 0;
解析如下:
循环过程:
以上是关于C语言 求n的阶乘及阶乘和的主要内容,如果未能解决你的问题,请参考以下文章