c语言问题50

来源:百度知道 编辑:UC知道 时间:2024/05/27 07:53:34
题目要求:
编写一个函数求 n! ,然后利用该函数计算 1 ! +2 ! +3 ! + … +n !的值。

#include <stdio.h>
void main()
{
int i,j,n,sum,m;
sum=0;m=1;
printf ("输入n:\n");
scanf ("%d",&n);
for (i=1;i<=n;i++)
{ for (j=1;j<=i;j++)
m=m*j;
sum=sum+m;
}
printf ("计算结果为:%d",sum);
}

long fac(long n){
long x=1;
while (n>1) x*=n--;
return x;
}

main(){
long i,n,sum;
sum=0;
printf("输入n:");
scanf("%ld",&n);
for(i=1;i<=n;i++) sum+=fac(i);
printf("1!+2!+...+%ld!=%ld\n",n,sum);
}

随便写个:
#include "stdio.h"
double fun(int n)
{
return n>1?n*fun(n-1):1;
}

void main()
{
double sum=0.0;
int i,n;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++) sum+=fun(i);
printf("1!+2!+...+%d!=%0.0f",n,sum);
}

一楼的按照LZ的意思写了
二楼的没按LZ是意思写,人家是要调用子函数