计算1!+2!+3!+4!+5!+6!+7!+8!+9+10!,用C语言编写程序

如题所述

由于以前做过这样的题目,发现9!的结果int已经装不下了!我现在没有编译器,不过我先写个,你自己看看,我个人觉得这个题目就是考两个方面的问题:1.你注意到你的数据类型没有2.基本的阶乘算法。
#include <stdio.h>
long GetFactoria(int n)
{
long ret=1,i=n;
while(i!=0)
{
ret=ret*i;
i--;
}
return ret;

}
void main()
{
int i;
long sum=0;
for(i=1;i<11;i++)
{
sum+=GetFactoria(i);

}
printf("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=%ld\n",sum);

}
这个应该没有问题!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-15
#include"stdio.h"
void main()
{
int s,a,i,ss;
for(s=0,a=1 ;a<=10;a++)
{ {
for(ss=1,i=1;i<=a;i++)
ss=ss*i;
}
s=s+ss;
}
printf("%d\n",s);
}本回答被提问者和网友采纳
第2个回答  2009-04-19
#include<stdio.h>
void main()
{
int factorial(int n);
int a;
printf("Please enter number:\n");
scanf("%d",&a); //输入10即可
printf("%d\n",factorial(a));
}
int factorial(int n)
{
int sum;
if(n==1)
sum=1;
else
sum=factorial(n-1)*n;
return sum;
}崩溃 会错题意了
#include<stdio.h>
void main()
{
int n=1;
int i=1;
int sum=2;
while(i<=10)
{
n=n*i;
sum=sum+n;
i++;
}
printf("1!+2!...10!=%d\n",sum);
}
第3个回答  2012-03-11
#include<stdio.h>
void main()
{
long jiecheng(int n);
int i;
long sum=0;
for(i=1;i<=10;i++)
sum=sum+jiecheng(i);
printf("%4d",sum);
printf("\n");
}

long jiecheng(int n)
{
int i;
long sum=1;
for(i=n;i>=1;i--)
sum=sum*i;
return sum;
}
第4个回答  2009-04-19
#include<stdio.h>
void main()
{
long int sum=0;
int i;
//static long int m;
static long n=1;
for(i=1;i<=10;i++)
{
n=n*i;
sum+=n;
printf("%d!=%ld\n",i,n);
}
printf("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=%ld\n",sum);
}
已帮伱解决 谢谢!