C语言 用函数调用方法求1!+2!+3!+…+n!的和
答案:3 悬赏:60 手机版
解决时间 2021-04-06 00:53
- 提问者网友:火车头
- 2021-04-05 11:14
C语言 用函数调用方法求1!+2!+3!+…+n!的和
最佳答案
- 五星知识达人网友:英雄的欲望
- 2021-04-05 12:17
#include
long factor(int n)
{
long result=0;
long temp=1;
int i;
for(i=1;i<=n;i++)
{
temp*=i;
result+=temp;
}
return result;
}
int main()
{
int n;
printf("please input a number\n");
scanf("%d",&n);
long result=factor(n);
printf("the result is %d\n",result);
return 0;
}
其中long factor(int n)函数就是直接求1!+2!+3!+…+n!的和
long factor(int n)
{
long result=0;
long temp=1;
int i;
for(i=1;i<=n;i++)
{
temp*=i;
result+=temp;
}
return result;
}
int main()
{
int n;
printf("please input a number\n");
scanf("%d",&n);
long result=factor(n);
printf("the result is %d\n",result);
return 0;
}
其中long factor(int n)函数就是直接求1!+2!+3!+…+n!的和
全部回答
- 1楼网友:几近狂妄
- 2021-04-05 13:26
我这个编的比较简洁
#include
long fun(int n)
{
int i;
long result=1;
for(i=1;i<=n;i++)
result*=i;
return result;
}
main()
{
int n,i;
long sum=0;
printf("input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("%d\n",sum);
}追问我刚学C语言 请问为什么#include 下面没有主函数 void main()追答有呀,在下面啊,直接打main系统默认为int main
#include
long fun(int n)
{
int i;
long result=1;
for(i=1;i<=n;i++)
result*=i;
return result;
}
main()
{
int n,i;
long sum=0;
printf("input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("%d\n",sum);
}追问我刚学C语言 请问为什么#include 下面没有主函数 void main()追答有呀,在下面啊,直接打main系统默认为int main
- 2楼网友:十年萤火照君眠
- 2021-04-05 13:01
#include
long factorial(long n)
{
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n-1);
}
void PrintResult(int n, long result)
{
int i = 0;
if (n == 0)
printf("%d! = ", 0);
else if (n == 1)
printf("%d! = ", 1);
else if (n == 2)
printf("%d!+%d! = ", 1, 2);
else
printf("%d!+%d!+...+%d! = ", 1, 2, n);
printf("%lu\n", result);
}
int main(void)
{
int n = 0, i = 0;
long sum = 0;
printf("Please input a number: \n");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum += factorial(i);
}
PrintResult(n, sum);
return 0;
}
例子:
Please input a number:
20
1!+2!+...+20! = 268040729
Press any key to continue
long factorial(long n)
{
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n-1);
}
void PrintResult(int n, long result)
{
int i = 0;
if (n == 0)
printf("%d! = ", 0);
else if (n == 1)
printf("%d! = ", 1);
else if (n == 2)
printf("%d!+%d! = ", 1, 2);
else
printf("%d!+%d!+...+%d! = ", 1, 2, n);
printf("%lu\n", result);
}
int main(void)
{
int n = 0, i = 0;
long sum = 0;
printf("Please input a number: \n");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum += factorial(i);
}
PrintResult(n, sum);
return 0;
}
例子:
Please input a number:
20
1!+2!+...+20! = 268040729
Press any key to continue
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯