c++运行后出现-1#IND

来源:百度知道 编辑:UC知道 时间:2024/05/10 10:46:05
计算积分,我的程序如下,我是真的看不出来了,每当zC取超过409.528时,都会出现这样的错误,其他参数:zA=496.9,zB=307,yB=93.56,yC=131.6,yD=36,yE=75,share rate1=0.7,original share rate2=0.41,original zC超过409.528时,都会出现这样的错误,original zD=494.7,original zE=484.2,程序为:
#include<iostream>
#include<cmath>
using namespace std;
float integral4(float,float,float,float,float,float,float,float);
void main()
{const int yA=0;
const int angleA=90;
const int angleC=0;
float zA=0.0,zB=0.0,yB=0.0,yC=0.0,zC=0.0,yD=0.0,zD=0.0,yE=0.0,zE=0.0,sr1=0.0,sr2=0.0;
float ozC=0.0,ozD,ozE,osr2=0.0;
cout<<"enter zA:"<<endl;
cin>>zA;
cout<<"enter zB:"<<endl;
cin>>zB;
cout<<"enter yB:"<<endl;
cin>>yB;
cout<<"enter yC:"<<endl;
cin>>yC;
cout<<"enter yD:"<<endl;
cin>>yD;
cout<<"enter yE:"&

-1#IND 在数学库函数里面表示 indefinite 不明确的。 你这里很多pow函数,而pow函数对幂是有很多限制的,比如 pow(-1.f, 0.7f) 就会生成你的结果,因为-1的0.7次方在数学上是未定义的,自然对库函数来说是不明确的。 请仔细检查数据

程序怎么一点都不清晰阿。我估计是你的数据越界了,注意数据类型,比如浮点型float所能表示的最大的数据值,超过就越界了。还有整形的,他们都是由最大最小数据的,不是多大多小的数都能表示