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

#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);
}

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

#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语言最初的标准。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-11
# 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;

追问

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

追答

第2个回答  推荐于2018-02-19
#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);
}本回答被提问者和网友采纳
第3个回答  2013-11-11
#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语言新手,能帮我改我的问题出在哪里么?我的截图输出的结果是不对的

第4个回答  2013-11-11
#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);
}
相似回答