
C语言中把级数y(x)=x+x3/(3*1!)+x5/(5*2!)+x7/(7*3!).....表示,不知我的程序哪里出现错误,请高人指点。
题y(x)=x+x3/(3*1!)+x5/(5*2!)+x7/(7*3!).......(x3表示X的3次方),令x=0.5、1.0、1.5、2.0,取前10项之和,分别...
题
y(x)=x+x3/(3*1!)+x5/(5*2!)+x7/(7*3!).......(x3表示X的3次方),令 x=0.5 、 1.0 、 1.5 、 2.0 ,取前 10 项之和,分别计算 y(x)。
我的程序是:#include<stdio.h>
int main(void)
{
double x = 0.0,
sum = 0.0,
zjz1 = 1.0,
zjz2 = 1.0;
int i = 0,
j = 0,
z = 0;
printf("please input number x:\n");
scanf("%lf",&x);
for(i=1;i<=10;i++)
{
for (j=1;j<=2*i-1;j++)
zjz1=zjz1*x;
for (z=1;z<=2*i-1;z++)
zjz2=zjz2*z;
sum=sum+zjz1/((2*i-1)*zjz2);
zjz1 = 0.0;
zjz2 = 0.0;
}
printf("%lf\n",sum);
return 0;
}
可以运行,但最后总是显示-1.#IND00
求高人指点啊 展开
y(x)=x+x3/(3*1!)+x5/(5*2!)+x7/(7*3!).......(x3表示X的3次方),令 x=0.5 、 1.0 、 1.5 、 2.0 ,取前 10 项之和,分别计算 y(x)。
我的程序是:#include<stdio.h>
int main(void)
{
double x = 0.0,
sum = 0.0,
zjz1 = 1.0,
zjz2 = 1.0;
int i = 0,
j = 0,
z = 0;
printf("please input number x:\n");
scanf("%lf",&x);
for(i=1;i<=10;i++)
{
for (j=1;j<=2*i-1;j++)
zjz1=zjz1*x;
for (z=1;z<=2*i-1;z++)
zjz2=zjz2*z;
sum=sum+zjz1/((2*i-1)*zjz2);
zjz1 = 0.0;
zjz2 = 0.0;
}
printf("%lf\n",sum);
return 0;
}
可以运行,但最后总是显示-1.#IND00
求高人指点啊 展开
2个回答
展开全部
-1.#IND00表示代码中有除以0的错误,你令zjz1 = 0.0; zjz2 = 0.0;后zjz1,zjz2,不管怎么乘都是0
追问
啊,那我应该是让那两个变量等于1就行了吗?
追答
理论上可以,但我在vc++上运行还是,有问题,不过1.#IND00肯定表示表示代码中有除以0的错误,
而且你代码结果多加了1
展开全部
#include <stdio.h>
#include <math.h>
int main(void)
{
int jiecheng(int n);
int num_N;//项数
double sum = 0;
int i;
double x;
printf("please input the xiangshu:\n");
scanf("%d",&num_N);
printf("please input the x value:\n");
scanf("%lf",&x);
for(i = 0;i < num_N;i++)
{
sum +=pow( x,(2*i+1))/((2*i+1)*(jiecheng(i)));
}
printf("y(x)的前%d项的和是%lf\n",num_N,sum);
return 0;
}
///n!
int jiecheng(int n)
{
if(n==0)
return 1;
else
return n*jiecheng(n-1);
}
#include <math.h>
int main(void)
{
int jiecheng(int n);
int num_N;//项数
double sum = 0;
int i;
double x;
printf("please input the xiangshu:\n");
scanf("%d",&num_N);
printf("please input the x value:\n");
scanf("%lf",&x);
for(i = 0;i < num_N;i++)
{
sum +=pow( x,(2*i+1))/((2*i+1)*(jiecheng(i)));
}
printf("y(x)的前%d项的和是%lf\n",num_N,sum);
return 0;
}
///n!
int jiecheng(int n)
{
if(n==0)
return 1;
else
return n*jiecheng(n-1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询