C语言 38. 填空题 以下程序的输出结果是_____。 #include<stdio.h>

intfac_sum(intn){staticintf=1,t=1,s=0;inti;if(n>t)for(i=t+1;i<=n;i++)f=f*i;else{f=1;f... int fac_sum(int n)
{
static int f=1,t=1,s=0;
int i;
if(n>t)
for(i=t+1; i<=n; i++)
f=f*i;
else
{
f=1;
for(i=1; i<=n; i++)
f=f*i;
}
t=n; s=s+f;
return(s);
}
void main()
{
int a[]={3,5,2},i,sum;
for(i=0; i<3; i++)
sum=fac_sum(a[i]);
printf(“sum=%d\n”,sum);
}
展开
 我来答
听不清啊
高粉答主

2018-11-19 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
int fac_sum(int n)      //累加到加入n!
{
static int f=1,t=1,s=0; //静态变量f和t用来保存上次已求的f=t!,s是累加和
int i;
if(n>t)   //若新的n阶乘,大于上次求的t的阶乘,则在已知t!的基础上继续算
for(i=t+1; i<=n; i++)
f=f*i;
else   //若新的n阶乘,不大于上次求的t的阶乘,则从1开始做乘法计算n!
{
f=1;
for(i=1; i<=n; i++)
f=f*i;
}
t=n; s=s+f;      //保存最近的计算阶乘的n值,以及累加n!
return(s);
}

该程序的作用是求3!+5!+2!

6+120+2=128,所以,运行的答案是:

sum=128

White_MouseYBZ
2018-11-17 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6709万
展开全部
结果是sum=128
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2018-11-17 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1980万
展开全部
有等待这点时间,输入电脑跑一遍就知道。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式