C语言编程计算x^1/1!+x^2/2!+x^3/3!+……+x^n/n!(要求计算精度达10^(-10))作业实在不会做了要程序详细部骤

谢谢

要求计算精度达10^(-10),就是n!=10^10.
int sum1=0; //这是连乘积,=1!,2!,...
int sum=0; //这是公式和,=x^1/1!+x^2/2!+x^3/3!+……+x^n/n!
for(int i=1;i++;i<pow(10,10))
{
sum1+= 1*i;
sum += pow(x,i)/sum1*i;
}

//下次做作业还是要自己动脑筋哦,:)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-03
#include <stdio.h>
#include <stdlib.h>

double factorial(double n)
{
if(n < 1)
{
printf("error\n");
exit(1);
}
else if(n == 1)
{
return 1;
}
else
{
return n*factorial(n-1);
}
}

double involution(int x, double n)
{
if(n < 1)
{
printf("error\n");
exit(1);
}
else if(n == 1)
{
return x;
}
else
{
return x*involution(x, n-1);
}
}

double multi_plus(int x, double n)
{
if(n < 1)
{
printf("error\n");
exit(1);
}
else if(n == 1)
{
return (involution(x, n)/factorial(n));
}
else
{
return (involution(x, n)/factorial(n)) + multi_plus(x, n-1);
}
}
int main(int argc, const char *argv[])
{
int x;
double n;
double result;

printf("please input the x and n\n");
printf("x = \n");
scanf("%d", &x);
printf("n = \n");
scanf("%lf", &n);

result = multi_plus(x, n);

printf("the result is [%.10lf]\n", result);

return 0;
}

x为整形数据,n为大于0的整数
如果有问题发这个邮箱,aizhaoyu@163.com
第2个回答  2012-12-18
在双EXP1()函数应该这样写
(B = 1; <= N,B + +)

{
SUN1 * = B;
总和+ =(POW(X,B)/ SUM1);
}
少括号,然后再返回到尝试
实际上是更好的SUM1设置int类型,因为它是唯一的
用来计算阶乘的方式来提醒你,如果你是一个新手,学习编程一定要养成良好的习惯,我建议你看看“C / C + +规范的编程”一本很好的书?? BR />祝学习愉快
第3个回答  2012-12-03
#include <stdio.h>

int main(void)
{
double x, r, t;
int n, i;

printf("input x and n:\n");
scanf("%lf %d", &x, &n);
r = 0.0;
for (i=0; i<n; i++)
{
t = 1.0;
for (j=0; j<=i; j++)
{
t *= pow(x, 1.0*i)/(i+1);
}
r += t;
}
printf("%.10lf\n", r);

return 0;
}

C语言编程计算x^1\/1!+x^2\/2!+x^3\/3!+……+x^n\/n!(要求计算精度达10^...
要求计算精度达10^(-10),就是n!=10^10.int sum1=0; \/\/这是连乘积,=1!,2!,...int sum=0; \/\/这是公式和,=x^1\/1!+x^2\/2!+x^3\/3!+……+x^n\/n!for(int i=1;i++;i<pow(10,10)){ sum1+= 1*i;sum += pow(x,i)\/sum1*i;} \/\/下次做作业还是要自己动脑...

C语言编程:ex=1+x\/1!+x2\/2!+x3\/3!+??+xn\/n!+??
\\x0d\\x0a return 0;\\x0d\\x0a}\\x0d\\x0a\\x0d\\x0a以上代码已经通过测试,结果正确,并有一定量的注释,便于理解

怎么用C语言求函数f=1+x+x^2\/2!+x^3\/3!+……+x^n\/n!急求本人没...
include <stdio.h>main(){double f=1;int x,n,i,p=1,q=1;printf("请输入x:");scanf("%d",&x);printf("请输入n:");scanf("%d",&n);for(i=1;i<=n;i++){p=p*x;q=q*i;f=f+p*1.0\/q;}printf("f=%lf\\n",f);} ...

C语言 用函数调用方法 求X^1+X^2+X^3+…+X^n的和。
按题要求只须在1楼的主函数中加上个scanf函数即可 如下:include <stdio.h> double f(double x,int n){ double sum=0;double item=1;int i;for(i=1;i<=n;i++){ item*=x;sum+=item;} return sum;} int main(){ double x;int n;printf("please input the parameter");scanf("%l...

C语言编程:ex=1+x\/1!+x2\/2!+x3\/3!+……+xn\/n!+…… 要求输入x的值后能...
else if (n == 0) return 1;else return n * jc (n - 1);} \/\/ 计算 ex 的值 double ex (double x){ int i = 0;double sum = 0;\/\/ pow(x,i)是x的i次方, elem是要计算的多项式的通项式 double elem = pow (x, i) \/ (double) (jc (i));\/\/ 当elem的值小于 0....

C语言 编写程序计算级数ex=1+x+x2\/2!+x3\/3!+...+xn\/n!的值?
代码如下,include<stdio.h> int main(){ float x;double S=1, sx=1;int n,ni=1;scanf("%f %d",&x,&n);for (int i=1; i <= n; i++) { sx *= x;ni *= i;S += (sx \/ ni);} printf("%.5f", S);}

C语言sum=1+x+x^2\/2!+x^3\/3!+………+x^n\/n!.其中x和n都是输入电脑的...
你把x的n次方和n的阶乘用两个函数算出来,然后用 sum = sum + pow() \/ n!递归就行了。

c语言级数算法 题目:s=1+x+x^2\/2!+x^3\/3!+...+x^n\/n! 怎么算
虽然没错,但是有个问题。就是n!涨很快 , a*=i这一步,会很快超出变量所承受的上限。for(i=1;i<=n;i++){a*=x\/i;s=s+a;} printf("%d",s);} 这样,n可以取得更大的数。a,s要用double型声明。另外,没见你的对x的赋值 ...

C语言:编写程序计算级数ex=1+x+x2\/2!+x3\/3!+...+xn\/n!的值。要求:要采...
return 1;else return n*factorial(n-1);} \/\/求x的n次幂 int nth_power(int x, int n){ int i;int result = x;if(x == 0)return 0;if(n == 0)return 1;for(i=1; i<n;i++)result *= x;\/\/printf("%d^%d = %d\\n", x, n, result);return result;} int main(){ ...

...已知 编写程序求ex = 1 + x + x^2\/2! + x^3\/3! + ...,要求到最后一...
include <stdio.h>int main(){float i,x,k=1,s=0;scanf("%f",&x);for(i=1;k>=0.001;i++){s+=k;k*=x\/i;}printf("%.5f",s);return 0;}\/\/运行示例:

相似回答