用C语言编程计算1!+2!+……+20!=

#include<stdio.h>intmain(){doublei=1,s=0,k;for(k=1;i<=20;i++)k*=i;s+=k;printf("1!+2!+... #include <stdio.h>
int main()
{ double i=1,s=0,k;
for(k=1;i<=20;i++)k*=i;s+=k;
printf("1!+2!+3!+···+20!= %20.0f\n",s);
}

求解~
是各个阶乘相加~求大师解释为什么我的算不出来~我的截图输出的不是正缺答案~求解
展开
 我来答
simonncc
高粉答主

推荐于2019-09-12 · 关注我不会让你失望
知道大有可为答主
回答量:776
采纳率:100%
帮助的人:13万
展开全部

#include <stdio.h>
int main()
{
double k=1,s=0,i;
for(i=1;i<=20;i++)
{
k*=i;
s+=k;
}
printf("1!+2!+3!+...+20!= %lf\n",s);
}

  • C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

  • 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

  • 二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

li410078815
2013-11-11 · 超过19用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:49.8万
展开全部
# include <stdio.h>

int main(void)
{
int sum = 0;
for (int i = 1; i <= 20; i++)
{
sum += i;
}
printf("%d",sum);
return 0;
}

 我把你的程序改了下,你看看你是这个意思么?

#include <stdio.h>

int main()

{   

double s = 0, k = 1;

    for(int i = 1;i<= 20; i++)

{

for (int q = 1; q <= i; q++)

{

k *= q;

}

s += k;

k = 1;

}

    printf("1!+2!+3!+···+20!= %lf\n",s);

return 0;

追问

这是输出结果,不对呀,我的也算不对结果,我的那个截图不是对的答案,所以才叫帮忙改改

追答

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jack218338
推荐于2018-02-19 · TA获得超过213个赞
知道小有建树答主
回答量:86
采纳率:100%
帮助的人:44.4万
展开全部
#include <stdio.h>
int main()
{
double k=1,s=0,i;
for(i=1;i<=20;i++)
{
k*=i;
s+=k;
}
printf("1!+2!+3!+...+20!= %lf\n",s);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyl67
2013-11-11 · TA获得超过1820个赞
知道小有建树答主
回答量:2133
采纳率:42%
帮助的人:604万
展开全部
#include<stdio.h>
__int64 fun(int n)
{
__int64 sum;
if(n==1||n==0)
sum=1;
else
if(n<0)
{printf("n<0,错误");}
else
sum=fun(n-1)*n;
return(sum);
}
int main()
{
__int64 fun(int n);
int n;
__int64 y,x=0;
for(n=1;n<=20;n++) //求和
{y=fun(n);
x=x+y;}
printf("%I64d",x);
while(1);
}

#include<stdio.h>
__int64 fac(__int64 n)
{
__int64 ans=1,i;
for(i=1;i<=n;i+=1)ans*=i;
return ans;
}
int main()
{
__int64 ans=0,i;
for(i=1;i<=20;i++)ans+=fac(i);
printf("%I64d\n",ans);
return 0;
}

这个也可以
追问
没看懂,我是c语言新手,能帮我改我的问题出在哪里么?我的截图输出的结果是不对的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊誶
2013-11-11
知道答主
回答量:37
采纳率:0%
帮助的人:19.4万
展开全部
#include <stdio.h>
int main()
{ int i,s=1,j,sum=0;
for(i=1;i<=20;i++)
{
for(j=i;j>=1;j--)

{
s *= j;

}

sum += s;

}
printf("1!+2!+3!+···+20!= %d\n",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式