C #R正在输出
我的问题是找到一个二次方程的根。一切都是正确的,直到我必须找到假想根,然后#R来了 在这里输入代码C #R正在输出,c,C,我的问题是找到一个二次方程的根。一切都是正确的,直到我必须找到假想根,然后#R来了 在这里输入代码 #include <stdio.h> #include <conio.h> #include <math.h> void main() { int a,b,c; double r1,r2; printf("Enter a,b and c \n"); scanf("%d%d%d",&a,&b,&c
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
int a,b,c;
double r1,r2;
printf("Enter a,b and c \n");
scanf("%d%d%d",&a,&b,&c);
double n=sqrt((b*b)-4*a*c);
if (n>0)
{
r1=(-b+n)/(2*a);
r2=(-b-n)/(2*a);
printf("%.2lf \n",r1);
printf("%.2lf",r2);
}
else if(n==0)
{
r1=(-b)/(2*a);
printf("%.2lf",r1);
}
else
{
double d1=-b/(2*a);
double d2=-n/(2*a);
printf("%.2lf + i%.2lf \n",d1,d2);
printf("%.2lf - i%.2lf \n",d1,d2);
}
getch();
}
input:1
4
9
Output-
2.00 + i1.#R
-2.00 - i1.#R
#包括
#包括
#包括
void main()
{
INTA、b、c;
双r1,r2;
printf(“输入a、b和c\n”);
scanf(“%d%d%d”、&a、&b和&c);
双n=sqrt((b*b)-4*a*c);
如果(n>0)
{
r1=(-b+n)/(2*a);
r2=(-b-n)/(2*a);
printf(“%.2lf\n”,r1);
printf(“%.2lf”,r2);
}
else如果(n==0)
{
r1=(-b)/(2*a);
printf(“%.2lf”,r1);
}
其他的
{
双d1=-b/(2*a);
双d2=-n/(2*a);
printf(“%.2lf+i%.2lf\n”,d1,d2);
printf(“%.2lf-i%.2lf\n”,d1,d2);
}
getch();
}
输入:1
4.
9
输出-
2.00+i1.#R
-2.00-i1.#R
那么为什么会出现这个#R呢?请不要向编程语言标签发送垃圾邮件。这个问题似乎与Java或Python编程无关。负数的平方根是多少?您正在看到
printf
试图显示1。#QNAN
但有舍入!没有正式的答案(所以我不能标记为重复),但汉斯·帕桑的评论是相关的。