编写求阶乘的函数,在main )函数调用此 函数,计算1!-2!+3! -4!+5!-6! +7!-8! +9!-10!,并输出计算结果
#include "stdio.h"
double fun(int n)//用double提高精度和计数位数。
{
double sum=1.0;
int i;
for(i=1;i<=n;i++)
sum*=i;
return sum;
}
int main()
{
int i,mark=1;
double sum=0,item=0;
for(i=1;i<=10;i++)
{
item=mark*fun(i);
sum+=item;
mark=-mark;
}
printf("1!-2!+3!-4!+5!-6!+7!-8!+9!-10!=%.0lf\n",sum);
}
#include <iostream>
using namespace std;
long factorial(int n);
int main() {
int n = 0;
cin >> n;
//定义为long long
long sum = 0;
for(int i = 1; i <= n; i++)
//对每个i调用factorial函数求其阶乘
sum += factorial(i);
cout << sum ;
return 0;
}
long factorial(int i) {
//这里的result一定要初始化为1
long long result = 1;
for(int j = 1; j <= i; j++)
result*= j;
return result;
}
当输入10的时候,输出结果如下:
4037913
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
/*
1!+2!+...10!
*/
int i,j;
double sum=0,sum1=1;
for(i=1;i<=10;i++)
{
sum1=1;
//计算i的阶乘
for(j=1;j<=i;j++)
{
sum1*=j;
}
printf("%d!=%0.0lf\n",j-1,sum1);
sum+=sum1;
}
printf("1!+2!+...10!=%0.0lf",sum);
}