啊哈磊_编程从这里起步
标题:
编译失败,求指教
[打印本页]
作者:
自由飞翔
时间:
2014-3-29 14:10
标题:
编译失败,求指教
#include <stdio.h>
#include <stdlib.h>
int main()
{
float a,b,c,d;
printf("请输入一元二次方程的系数a,b,c:\n");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
{
printf("该方程无解\n");
}
else if(d>0)
{
printf("该方程只有一个解x=%f\n",-b/(2*a));
}
else
{
printf("x1=%f\n",(-b+sprt(d))/(2*a));
printf("x2=%f\n",(-b-sprt(d))/(2*a));
}
printf("%f",d);
system("pause");
return 0;
}
作者:
rosynirvana
时间:
2014-3-29 14:10
编译不了的原因是你把sqrt写成了sprt
d > 0的时候是两个实根, d == 0的时候是一个实根(或者说两实根相等)
另外这种地方明显要用double,你基本上是用不到float的
#include <stdio.h>
#include <stdlib.h>
int main()
{
double a,b,c,d;
printf("请输入一元二次方程的系数a,b,c:\n");
scanf("%lf%lf%lf",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
{
printf("该方程无解\n");
}
else if(d==0)
{
printf("该方程只有一个解x=%f\n",-b/(2*a));
}
else
{
printf("x1=%f\n",(-b+sqrt(d))/(2*a));
printf("x2=%f\n",(-b-sqrt(d))/(2*a));
}
printf("%f",d);
system("pause");
return 0;
}
复制代码
作者:
自由飞翔
时间:
2014-3-29 19:11
多谢大神指教
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2