在b站上学习c语言,然后跟着教程里的题自己编写的代码。
1.计算1!+2!+3!...+n!
#include<stdio.h>
int jc2(int n)
{
static int mul = 0;
if(n>1)
{
mul = n*jc2(n-1);
}
else {
return 1;
}
}
//计算每个数字的阶乘
int jc(int m)
{
int sum = 1;
int i;
for (i = 2; i <= m; i++)
{
int mul = jc2(i);
sum = sum+mul;
}
return sum;
}
//这里计算各个阶乘的和,0和1的阶乘都为1,所以直接从2开始算
int main()
{
int a;
scanf_s("%d", &a);
int i=jc(a);
printf("%d", i);
return 0;
}
这道题用了递归以及嵌套调用,算是融合了一下前面的知识,真正的答案都不需要创建函数,就用for循环就能搞定。