🌏个人博客:尹蓝锐的博客
希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏支持一下笔者吧~
1、题目要求
2、写法1:基础版
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
double i, j, temp = 1, sum = 0;
for (i = 1; i <= 20; i++)
{
temp = 1;
for (j = 1; j <= i; j++)
{
temp = temp * j;
}
sum = temp + sum;
}
printf("%.5e", sum);
return 0;
}
3、写法2:进阶版
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
double i, temp = 1, sum = 0;
for (i = 1; i <= 20; i++)
{
temp = temp * i;
sum = temp + sum;
}
printf("%.5e", sum);
return 0;
}
4、写法3:递归
注意:返回值类型必须为double类型而不能是int类型,因为double类型精度高
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<math.h>
double jiecheng(int n)
{
if (n == 0 || n == 1)return 1;
else return(n * jiecheng(n - 1));
}
int main()
{
double sum = 0;
int i;
for (i = 1; i <= 20; i++)
{
sum += jiecheng(i);
}
printf("sum=%.5e", sum);
return 0;
}
5、输出
2.56133e+18
如果我的博客能给您带来启发,请不吝点赞、评论和收藏,也欢迎您关注我的博客。
如果你喜欢这篇文章,别忘了留下你的感想和建议,让我知道你的想法。同时,也请继续关注我的博客,我们不见不散!
最后,愿每一位读到这里的你,都能拥有一个充实而美好的每一天。不管世界怎样变化,保持学习,保持热爱,保持对生活的好奇心,我们的故事,还在继续……