第1个回答 2017-09-20
#include<stdio.h>
int Calc(int nResult[],int len,int nNumb);
void main()
{
int nResult[128]={0}; //定义一个长度为512的数组用于保存结果
int len=1 ; //长度定义?
nResult[0]=1; //数组第一个元素赋值为1
for(int i=2;i<=10;i++){ //阶乘计算
len=Calc(nResult,len,i);//递归 由长度len得len
}
for(int i=len-1;i>=0;i--){
printf("%d",nResult[i]);
}
printf("\n");
getchar();
return;
}
int Calc(int nResult[],int len,int nNumb)
{
int i,rem=0;
for(i=0;i<len;i++){
rem+=nResult[i]*nNumb;
nResult[i]=rem%10;
rem=rem/10;
}
while(rem>0){
nResult[len]=rem%10;
len++;
rem=rem/10;
}
return len;
}
第2个回答 2012-10-31
#include <stdio.h>
void main()
{
double Ni(int n);
double ni= 0.0;
for(int n= 1; n <= 10; n++) ni+= Ni(n);
printf("%lf\n", ni);}
double Ni(int n)
{
double ret= 1.0;
while(n)
{
ret*= n--;
}
// printf("%lf\n", ret);
return ret;
}
第3个回答 推荐于2017-09-20
#include#includelongxx(longx){if(x=1)return1;elsereturnxx(x-1);}intmain(){longsum=0,i;for(i=1;i<=10;i++)sum+=xx(i);printf("%d",sum);return0;}本回答被网友采纳