c++中解方程

解这个方程,要详细步骤,A和B要角度已知d、A、B,求aa*a/(cosB*cosB)=(a*a+2ad+d*d)/cosA+d*d-2a-2d是下面这个,上面是错的。。... 解这个方程,要详细步骤,A和B要角度
已知d、A、B,求a
a*a/(cosB*cosB)=(a*a+2ad+d*d)/cosA+d*d-2a-2d
是下面这个,上面是错的。。
a*a/(cosB*cosB)=(a*a+2ad+d*d)/cosA-d*d-2ad
展开
 我来答
Troy_Ricardo
2018-03-09
知道答主
回答量:18
采纳率:58%
帮助的人:8.1万
展开全部

您这个……

然后您既然已知A、B、d,那么你就能求出这个二次方程的每一项的系数(C++语言自带三角函数,cos(x)即与x轴正版轴夹角为x的cos函数值,在cmath/math.h库里),然后利用二次方程通项公式解一下就好了……

代码要是需要的话,我再写……

追问
能帮忙写一下代码吗。。。。。
追答
#include "cstdio"
#include "cmath"
using namespace std;
double A,B,d;
double sqr(double x){
    return x*x;
}
int main(){
    scanf("%lf%lf%lf",&A,&B,&d);
    double a,b,c;
    a=1/sqr(cos(B))-1/cos(A);
    b=2*d*(1-cos(A));
    c=sqr(d)*(1-1/cos(A));
    double delta=sqr(b)-4*a*c;
    a=a*2;
    if(delta<0) {
        puts("无实数解");
    }else   if(delta<=1e-10)    {
        printf("x1=x2=%f\n",-b/a);
    }else   {
        delta=sqrt(delta);
        printf("x1=%f x2=%f\n",-(b+delta)/a,-(b-delta)/a);
    }return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式