C语言求1~n阶乘的和

2024-11-29 22:39:42
推荐回答(1个)
回答1:

你那个do
while是要做什么呢?输入n为负数则循环输入???还是????
#include

long
Fact(int
n);///////////////////////////////////////////////////////函数定义在调用之前,要预先声明
void
main
()
{
int
n,d;
long
b,c;
do
{
printf("请输入一个正整数:");
scanf("%d",&n);
c=0;/////////////////////////////////////////////////////c=0放这边
for
(d=1;d<=n;d++)
{
b=Fact(d);////////////////////////////////////////Fact(n);改成Fact(d);
c=c+b;
}
printf("和为%ld\n",c);
}while
(n<=0);
}
long
Fact(int
n)
{
int
i;
long
result=1;
for
(i=1;i<=n;i++)
result
*=i;
return
result;
}