C语言求1元2次方程时的问题,很感谢能回答我的人

我的程序步骤;#include<stdio.h>#include<math.h>voidmain(){floata,b,c,disc,x1,x2,p;printf("Pl... 我的程序步骤;
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,disc,x1,x2,p;
printf("Please input the a b c:");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc = b*b-4*a*c;
if (disc < 0);
printf("It is a error!!");
else
p = -b/(2*a);
x1 = p + sqrt(disc)/(2*a);
x2 = p - sqrt(disc)/(2*a);
printf("x1=%5.2f,x2=%5.2f",x1,x2);
}

最后调试有1处错误:
C:\Documents and Settings\user\桌面\编程软件\Cpp1.c(11) : error C2181: illegal else without matching if
C:\Documents and Settings\user\桌面\编程软件\Cpp1.c(13) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
C:\Documents and Settings\user\桌面\编程软件\Cpp1.c(14) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
执行 cl.exe 时出错.
展开
Xylophagan
2007-11-30 · TA获得超过226个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:172万
展开全部
很容易改
1,把if行后面的分号去掉,if 语句完整表述之前不需要分号;
2,把定义时的“float"改成“double”,(若用float定义的话,后面开方运算默认的是数据是double型,强制转换可能出现数据丢失。)

p.s.一下,“it is an error”
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式