gpt4 book ai didi

c - C中二次方程的计算误差

转载 作者:行者123 更新时间:2023-12-03 07:52:21 26 4
gpt4 key购买 nike

我写了这个程序来计算二次方程:

#include <stdio.h>
#include <math.h>
int main()
{
printf("ax%c + bx + c = 0", 253);
while (1 == 1)
{
float a, b, c;
printf("\na = ");
scanf("%f", &a);
printf("b = ");
scanf("%f", &b);
printf("c = ");
scanf("%f", &c);
if (a == 0)
{
if (b == 0)
printf("\aThis equation is wrong");
else
printf("x = %g", -(c / b));
}
else
{
if ((b * b) == (4 * a * c))
printf("x = %g", -(b / (2 * a)));
else if ((b * b) > (4 * a * c))
{
printf("x = %g\n", ((-b + sqrt(((b * b) - (4 * a * c)))) / (2 * a)));
printf("x = %g\n", ((-b - sqrt(((b * b) - (4 * a * c)))) / (2 * a)));
}
else
{
printf("x = %g + %gi\n", (-b / (2 * a)), (sqrt(-((b * b) - (4 * a * c))) / (2 * a)));
printf("x = %g + %gi\n", (-b / (2 * a)), (-sqrt(-((b * b) - (4 * a * c))) / (2 * a)));
}
}
}
return 0;
}
这是错误:
PS F:\PARSA\Programming\C> cd "f:\PARSA\Programming\C\" ; if ($?) { gcc 11.c -o 11 } ; if ($?) { .\11 }
Program '11.exe' failed to run: Access is deniedAt line:1 char:71
+ ... PARSA\Programming\C\" ; if ($?) { gcc 11.c -o 11 } ; if ($?) { .\11 }
+ ~~~~.
At line:1 char:71
+ ... PARSA\Programming\C\" ; if ($?) { gcc 11.c -o 11 } ; if ($?) { .\11 }
+ ~~~~
+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException
+ FullyQualifiedErrorId : NativeCommandFailed
我认为该错误是由于第26至35行中的“else if”和“else”引起的。因为当我同时评论两个(仅两个)时,它不会给出错误。但是我不知道为什么!我将VS Code用于IDE。

最佳答案

C代码可以在我的PC(VStudio 2019)中编译并正常运行。
错误似乎出在您在OS级别上编译代码的过程中:

cd "f:\PARSA\Programming\C\" ; if ($?) { gcc 11.c -o 11 } ; if ($?) { .\11 }
看起来有些与目录权限有关的错误,或一些不存在的文件。

关于c - C中二次方程的计算误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64667020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com