首页 > 解决方案 > 如何将 pow() 用于方程式并且不以 nan 结尾

问题描述

我尝试过使用 double 和 long double 但它显示 nan,我也尝试将其更改为float但仍然无法正常工作,我已将其更改为 along int但结果与计算器不同。使用 dcoder 应用程序,输入数字 1,2,3

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    int a, b, c;
    long double x1, x, num1,num2;
    cout<<"enter number\n";
    cin>>a>>b>>c;

    if(a&&b==0){
        cout<<"\nno solution";
    } else if(a==0){
        num2=-c/b;
        cout<<"\none root: "<<num2;
    } else if(num1<0){
        cout<<"\nno roots";
    } else{
        num1= pow(b,2) - (4*a*c);
        x= -b + (pow(num1,-0.5)) / 2*a;
        x1= -b - (pow(num1,0.5)) / 2*a; 
        cout<<"\ntwo roots\n" <<num1<<"\n"<<x<<"\n"<<x1;
    }
    return 0; 
}

标签: c++functionmath

解决方案


推荐阅读