c ++负平方根

RnD*_*RnD 1 c++ for-loop sqrt

我的目标是打印***平方根是否定的.但我想不出一种方法可以将默认nan文本更改为***

for(int i=x1;i<=x2;i++){
   double y = sqrt(pow(i,2)+3*i-500);
    if(y = ?){
        outFile << "***";
    }
Run Code Online (Sandbox Code Playgroud)

那么,我应该在if语句中写什么才能使它成为可能?或者也许有另一种方法可以检查y是否为nan然后打印*

fre*_*low 8

如何检查平方根函数的负输入

for (int i = x1; i <= x2; ++i)
{
    double x = pow(i, 2) + 3*i - 500;
    if (x < 0)
    {
        outFile << "***";
    }
    else
    {
        outFile << sqrt(x);
    }
}
Run Code Online (Sandbox Code Playgroud)