满意答案
lyzoujun
推荐于 2016.12.05
采纳率:44% 等级:9
已帮助:213人
void calroot(double a, double b, double c)
{
double dert;
double value;
if (a == 0)
{
printf("这不是一元二次方程!内\n");
return;
}
dert = b *b - 4 * a * c;
if (dert > 0)
{
printf("X1 = %6.2f\n", (-b + sqrt(dert)) / (2 * a));
printf("X2 = %6.2f\n", (-b - sqrt(dert)) / (2 * a));
}
else if(dert == 0)
{
printf("x = %6.2f\n", -b / (2 * a));
}
else
printf("方程无根容\n");
return;
}追问: bool型是什么??
追答: bool型式是布尔型
就只有true和false两个值
追问: 没学过〒_〒
追答: 不用也行,我发的这个代码已经满足要求了,只是这个函数如果要返回值的话,就必须要考虑了
追问: 有简单点的表示方法吗?
追答: 你还要把这函数引用到main 里面啊
追问: 运行总是出错。找不出来。麻烦运行下给我看看好吗〒_〒
追答: 要在main中调用这个函数
并把a,b,c传给它才行啊
追问: 是这样做的啊
追答: #include
#include
#include
void calroot(double a, double b, double c)
{
double dert;
double value;
if (a == 0)
{
printf("这不是一元二次方程!\n");
return;
}
dert = b * b - 4 * a * c;
if (dert > 0)
{
printf("X1 = %.2f\n", (-b + sqrt(dert)) / (2 * a));
printf("X2 = %.2f\n", (-b - sqrt(dert)) / (2 * a));
}
else if(dert == 0)
{
printf("x = %.2f\n", -b / (2 * a));
}
else
printf("方程无根\n");
return;
}
int main(void)
{
voidcalroot(double,double,double);
doublea, b, c;
printf("input a,b,c:");
scanf("%lf%lf%lf", &a, &b, &c);
calroot(a,b,c);
system("pause");
return 0;
}
追问: 怎么传⊙﹏⊙
追答: 。。那value是多余的,我还没测试。。你删掉就行了。。原谅我!
stdlib.h 是给system()做原型声明用的,
system("pause")在这里的作用是:程序要执行完了按任意键结束
追问: 最后一个问题double value 在哪里做什么用啊?stdlib是什么??@( ̄- ̄)@
追问: 嗯嗯。好的。我试了。非常好。谢谢你@( ̄- ̄)@
00分享举报