用C++来解答一个复杂的方程方程在最下面其中t=15.4,R=99.2,q=270,C=8434000.求r,要求用C++编写代码,我用循环递增求差的方法和二分法均算不出正确答案,求高手给出正确的代码,最好能把我的代码给

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 00:31:51

用C++来解答一个复杂的方程方程在最下面其中t=15.4,R=99.2,q=270,C=8434000.求r,要求用C++编写代码,我用循环递增求差的方法和二分法均算不出正确答案,求高手给出正确的代码,最好能把我的代码给
用C++来解答一个复杂的方程
方程在最下面
其中t=15.4,R=99.2,q=270,C=8434000.求r,要求用C++编写代码,我用循环递增求差的方法和二分法均算不出正确答案,求高手给出正确的代码,最好能把我的代码给我纠正一下,正确答案是272
我自己写的代码如下
#include<iostream>
#include<cmath>
int main(void)
{
 using namespace std;
 float a , b , c , d , l1 , l2 , l3 , l4 , l5 , l6 , l7 , k;
 b=0;
 c=32547342;
 while(fabs(c-b) >= 0.00001)
 {
  a = ( c + b ) / 2;
  l1 = log10(a);
  l2 = log10(2.718);
  l3 = l1 / l2;
  l4 = 99.2 * 99.2 + a * a ;
  l5 = pow( l4 , 1.5 );
  l6 = 270 * ( 1 - 0.058 * l3 ) * 99.2 * 99.2 * a / l5;
  l7 = pow( l6 , 1.3333 );
  d = l7 * 15.4;
  k = 8434000 - d;
  if( fabs( k ) <= 0.001 )
   break;
  if ( k >= 0 )
   c = a;
  else
   b = a;
 }
 cout << a << endl
   << k << endl;
 system("pause");
 return 0;
}

用C++来解答一个复杂的方程方程在最下面其中t=15.4,R=99.2,q=270,C=8434000.求r,要求用C++编写代码,我用循环递增求差的方法和二分法均算不出正确答案,求高手给出正确的代码,最好能把我的代码给
#include
#include
int main(void)
{
using namespace std;
float a ,b ,c ,d ,l1 ,l2 ,l3 ,l4 ,l5 ,l6 ,l7 ,k;
b=0;
c=32547342;
while(fabs(c-b) >= 0.00001)
{
a = ( c + d ) / 2; //d 没赋初始值
l1 = log10(a);
l2 = log10(2.718); //这一句最好拿到while 语句上面 ,这样代码速度会快一点
l3 = l1 / l2;
l4 = 99.2 * 99.2 + a * a ; //最好先将99.2算出来,这样代码执行速度会快一点
l5 = pow( l4 ,1.5 );
l6 = 270 * ( 1 - l3 ) * 99.2 * 99.2 * a / l5; //l3这里少*0.058
l7 = pow( l6 ,1.3333 );
d = l7 * 15.4;
k = 8434000 - d;
if( fabs( k ) = 0 )
c = a;
else
b = a;
}
cout