c++紧急,十万火急

来源:百度知道 编辑:UC知道 时间:2024/09/24 04:05:44
#include <iostream>
#include <cmath>
using namespace std;
double sin(double x);
double fac(int i);
double pow(double x,int i);
int main()
{
double m;
m=0.1*sin(0.1)+sin(0.2)+sin(0.3)+sin(0.4)+sin(0.5)+sin(0.6+sin(0.7)+sin(0.8)+sin(0.9)+sin(1));
cout<<"∫sinxdx在区间[0,1]上的值为"<<m<<endl;
return 0;
}
double sin(double x)
{ double y=0;
double t;
double k;
int i=1,a=1;
{t=a*pow(k,i)/fac(i);
y=y+t;
i=i+2;
a=-a;}
return y;
}
double pow(double x, int i)
{if (i==1)
return x;
return pow(x,i-1)*x;
}

double fac(int i)
{double fac(int i);
int f=1,b=1;
while (b<=i)
{ f=f*b;b++;}
return f;
}

编译时系统总是提示k没有初始化。为什么?要怎样改才能使其正常运行并能得出正确结果?
给个调用sinx函数的程序

double sin(double x)
{ double y=0;
double t;
double k//赋值;
int i=1,a=1;
{
t=a*pow(k,i)/fac(i);
y=y+t;
i=i+2;
a=-a;}
return y;
}
你这里K要赋值下. 以及如果你调用库文件math 的话 你定义的那些函数根本没用的

晕……你的K连初始值都没有赋,怎么操作啊,编译器肯定要报错的,没办法,给它赋一个初值吧

不是没有初始化的问题,cmath头文件里已经包含sin()函数了,把第二行去了就OK了