被铁链锁住的男孩图片:C编程高手来看看怎么编?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 13:34:40
求1!+2!+3!+4!+...........+20!的和?
请问用C语言怎么编这个程序?

#include <stdio.h>
main()
{float i,s=1.0,p=1.0;
for(i=2.0;i<=20.0;i++)
{p*=i;
s+=p;}
printf("s=%20.20e",s);}
输出结果为:2561327455189073920

#include<stdio.h>/*加载头文件*/

Jiecheng(int a){/*定义Jiecheng函数*/
if(a<0)printf("数据错误!"),getchar();
else if(a==1&&a==0)Jiecheng(a)=1;
else Jiecheng(a)=Jiecheng(a-1)*a;
}

main(){
int a=1,int b=0;
for(a=1;a<=20;a++)
b=b+Jiecheng(a);
printf("%d",b);
}

运行结果:
2561327494111820313

程序源码如下:
#include <stdio.h>

int main()
{
long long sum = 0;
long long fact = 1;
int i;
for (i = 1; i <= 20; i++)
{
fact *= i;
sum += fact;
}
printf("%lld\n", sum);
return 0;
}

#include<stdio.h>
main(){
long int sum=0;
int i,j,fat=1;
for(i=1;i<20;i++){
fat=fat*j;
sum=sum+fat;}
printf("%ld",sum);
}

我想只要算法正确,这样的题目没有什么难度,当然对于编程新手还要要慢慢体会其中的酸甜苦辣!摘懂了才有意思!
上一位大师的程序我想是行不通的!还是没有理清思路!
main()
{float sum=0,jc;
int i,j;
for(i=1;i<=20;i++)
{jc=1;
for(j=1;j<=i;j++)
jc*=j;
sum+=jc;
}
printf("sum=%f",sum;)
}
而且我建议在编程的时候最好采缩进的格式,给人一目了然!

#include "stdio.h"

main()
{
int n,t;
float ans1,ans;
ans=0;
ans1=1;
for(n=1;n<=20;n=n+1)
{
t=n;
first1:
if(n==0)
{ans=ans+ans1;}
else
{
ans1=ans1*n;
n=n-1;
goto first1;
}
ans1=1;
n=t;
}
printf("%f",ans);
}