这C语言可错了啊?

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:27:36
#indude <math.h>
mian( )
{
float a,b,c,disc,x1,x2,p,q;
scanf("a=%f,b=%f.c%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf("/n/nx1=%5.2f/nx2%5.2f/n",x1,x2);
}

首先 应该是
void main()
{
}
其次
disc=b*b-4ac
你要先判断disc>=0 在执行sqrt(disc)
还有 没有引入标准的输入输出头文件
#include<stdio.h>(好像是这么写的 记不太清了 :) )
其它的还没看出来

首先 应该是:

#include <math.h>

其次,如下,中括号内是修改的:

[void ]main
{
float a,b,c,disc,x1,x2,p,q;
scanf("a=%f,b=%f[,]c[=]%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
[if(sqrt(disc)>=0)
{
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("/n/nx1=%5.2f/nx2%5.2f/n",x1,x2);
}else
{
……(无解或虚数解法,略)
}]
}

汗,忽然觉得自己连一元二次方程都还给老师了……

scanf("a=%f,b=%f.c%f",&a,&b,&c);
最好不要这样写
这样你输入得时候就要输入 a=?,b=?.c?
应该写成 scanf("%f%f%f",&a,&b,&c);

就是不大严密啊 一定要注意啊