请用C语言写一个程序,功能为求1+2!+3!+…+20!的和 5

 我来答
百度网友a5b6b0749
2012-08-12 · 超过13用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:42.4万
展开全部
#include <stdio.h>
#include <stdlib.h>

//给count赋值过大时,可能溢出.

long calculate_factorial_sum(int count) {
if(count <= 0) return -1L;
int ix = 1, cnt = 1;
long sum = 0L, num = 1L;
//外循环处理阶乘的求和
for(; ix <= count; ++ix) {
//内循环处理求解阶乘
for(; cnt <= ix; ++cnt) {
num *= cnt;
}
sum += num;
}
return sum;
}

int main(int argc, char *argv[])
{
long num = calculate_factorial_sum(4);
printf("result : %ld", num);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baoinsensitive
2012-08-12
知道答主
回答量:45
采纳率:0%
帮助的人:11.7万
展开全部
include<stdio.h> int main() int i,k=1,sum=0; { for(i=1;i<=20;i++) { k=k*i; sum=sum+k; } printef("%d/n",sum); return 0; }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
absgbnb6
2012-08-12 · 超过10用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:16.7万
展开全部
#include <stdio.h>

int main(void)
{
int sum;
int i, k, n = 20;//n表示最大阶乘数

sum = 1;
k = 1;
for (i = 2; i <= n; i++){
k *= i;
sum += k;
}
printf("%d\n", sum);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1cf58ab
推荐于2018-04-15 · TA获得超过343个赞
知道小有建树答主
回答量:276
采纳率:50%
帮助的人:367万
展开全部
#include<stdio.h>
float pSum(int n)
{
float sum=0;
float pt=1;
for(int i=1;i<=n;i++)
{
pt*=i;
sum+=pt;
}
return sum;
}
void main()
{
int i=20;
float sum=pSum(i);
printf("%g\n",sum);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宇上新通
2012-08-12 · TA获得超过1372个赞
知道小有建树答主
回答量:1743
采纳率:50%
帮助的人:528万
展开全部
用递归方法最简单!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式