c++ - 如何将 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;
}
解决方案
推荐阅读
- cakephp - CakePHP 3.7.3:将 SecurityComponent 与 Ajax 与 SPA 结合使用
- python - 如何在“响应后”处理程序中确定端点?
- sql - 防止事务中的死锁
- ios - 如何防止我的 Swift 函数退出,直到转义闭包回调完成?
- java - 分发具有相同 SSL Key/TrustStore 的客户端/服务器应用程序是否安全?
- javascript - 无法设置属性...只有 Getter (javascript es6)
- python - 有没有办法对远程会话进行身份验证以抓取数据并保持身份验证而不是在每个请求中进行身份验证?
- swift - Firebase Auth lastSignInDate 和 creationDate 比较失败
- ionic-framework - 如何在 ionic3 中更新时向 tabBadge 未读消息计数添加声音
- r - 使用 expss 包在 R 中的顶部 2 个 boxES 和底部 2 个盒子网