求用c语言把1到10的阶乘的和

如题所述

求1~10阶乘和C语言程序如下:visual C++6.0编译,仅供参考。

#include <stdio.h>

int  fact(int num)

{

if(num>1)

{

return num*fact(num-1);

}

else

{

return 1;

}

}

int main()

int n;

int sum;

sum=0;

for(n=0;n<=10;n++)

{

sum+=fact(n);

}

printf("0!+1!+...10!=%d\n",sum);

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-01
你这道题输出先看看是什么,你输出就不是求阶乘的。
#include<stdio.h>
main()
{
int a=0,b=1,c,d;
while(b<=10)
{
c=b;
for(d=1; c>0; c--)
d=c*d;
a=a+d; //根本不知道你这个a有什么用,建议直接删去。
b++;
printf("%d\n",d);
}

getch();
}
当然这个程序可以求的答案,但是还有很多warning,写程序如果心里没有想法就不要写,要不然就算答案对,对自己也没有什么提高。心里首先把程序运行一遍,这是每个程序员都应该做到的。先把基础学好吧。你上面的错误太多了。写程序先学会读代码,把书上的简单代码学会。然后不看书,根据理解写出来就是自己的。我们都是站在巨人的肩膀上
第2个回答  2011-05-12
请参考
从键盘上输入a,b,c的值,在屏幕上打印它们的阶乘之和。例如a=2,b= 4,c= 5,则屏幕打印2!+4!+5!=146。

#include <stdio.h>

int f(int n)
{
int i;
int r=1;
for(i=1;i<=n;i++)
{
r*=i;
}
return r;
}

int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d!+%d!+%d!=%d\n",a,b,c,f(a)+f(b)+f(c));
return 0;
}
第3个回答  2010-12-01
#include<stdio.h>
int main()
{
long sum=0,i,s=1;
for(i=1;i<=10;i++)
{
s=s*i;//此处s用于存放(1-10)各数的阶层;
sum=sum+s;//sum是各阶层的累加和;
}
printf("%d\n",sum);
return 0;
}
给你个程序参考一下吧。。呵呵
第4个回答  2010-12-01
你试试把for后的两句放在for语句中 因为你的程序当c大于2时 d始终只能得一次值 而不会累加 而且你把应a d定义为长整型
我自己写的中间的你试试 for(i=0;i<11;i )
for(j=i;j>0;j )
s*=j;
sum =s;
其中s sum都是长整型 用手机上回的 简单写了下 希望能看懂 还有你c能语言
相似回答