判断ax^2+bx+c=0方程有几个解,如果有解则解出.系数a,b,c由键盘输入.
我的编程如下
#include
main()
{
float a,b,c,x1,x2,p;
scanf(%f%f%f,&a,&b,&c);
p=b*b-4*a*c;
if (p>=0)
p=sqrt(b*b-4*a*c);
if (p>0)
{
x1=(-b-p)/2*a;
x2=(-b-p)/2*a;
printf(x1=%.2f,x2=%.2f,x1,x2);
else x1=-b/2*a;
printf(x1=x2=%.2f,x1);
}
else printf(No answer);
}
为何程序说我的第一个else是Midplaced else in function main?
判断ax^2+bx+c=0方程有几个解,如果有解则解出.系数a,b,c由键盘输入.
答案:1 悬赏:10 手机版
解决时间 2021-02-24 12:20
- 提问者网友:情歌越听越心酸
- 2021-02-24 06:28
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-02-24 07:57
修改之后的代码如下:
#include
main()
{
float a,b,c,x1,x2,p;
scanf(%f%f%f,&a,&b,&c);
p=b*b-4*a*c;
if (p>=0)
{
p=sqrt(b*b-4*a*c);
if (p>0)
{
x1=(-b-p)/2*a;
x2=(-b-p)/2*a;
printf(x1=%.2f,x2=%.2f,x1,x2);
}
else x1=-b/2*a;
printf(x1=x2=%.2f,x1);
}
else printf(No answer);
}
你的第一个else是在if的里面,所以会出现你所描述的错误.建议你在编程的时候,注意格式的标准化,减少错误的发生.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯