求前20的阶乘(即求1!+2!+3!+、、、、、+20!){要求是用C语言中的循环指令编程}求完整程序。。。

 我来答
匿名用户
2013-04-13
展开全部
你好,程序如下: #include<stdio.h>
void main()
{
long i,j,sum;
for(i=1,j=1,sum=1;i<=4;i++)
{
j=j*i;
sum+=j;
}
printf("1!+2!+3!+........+20! = %ld\n",sum-1);
}
有疑问提出。望采纳。
百度网友6fe74e2
2013-04-12 · TA获得超过6592个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:242万
展开全部
#include "stdio.h"
int fact(int n)
{
int sum=1,i;
if(n==0 || n==1)
return 1;
for(i=1;i<=n;i++)
sum*=i;
return sum;

}
int main()
{
int sum=0;
int i;
for(i=1;i<=20;i++)
sum+=fact(i);
printf("1!+2!+...+20!=%d\n",sum);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hengheng328
2013-04-12 · 超过24用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:58万
展开全部
int sum;
int temp;
for(int i=1;i<=20;++i){
temp=1;
for(int j=i;j>0;j--){
temp=temp*j;
}
sum+=temp;
}

看到大概写了一下,不知道对不对,思路就是这样,利用嵌套循环即可、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-13
展开全部
/*1! + 2! + ...... + 20! = 128425485935180320
Press any key to continue*/#include <stdio.h>double fact(unsigned n) {
unsigned i;
double product = 1.0;
for(i = 1; i < n; ++i)
product *= i;
return product;
}int main() {
int i;
double sum = 0;
for(i = 1; i <= 20; ++i)
sum += fact(i);
printf("1! + 2! + ...... + 20! = %.0lf\n",sum);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
麒麟也涅槃
2013-04-12 · TA获得超过375个赞
知道小有建树答主
回答量:884
采纳率:0%
帮助的人:239万
展开全部
#include<stdio.h>
void main()
{
int i,j,s,sum=0;
for(i=1;i<21;i++)
{
s=1;
for(j=1;j<=i;j++)
{
s=s*j;
}
sum=sum+s;
}
printf("%d\n",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式