求c语言代码纠错
截图如下:
文字版代码如下:
#include <math.h>
#include <stdio.h>
int main()
{
double x1,x2,a,b,c;
printf("已知方程ax^2+bx+c=0,请输入a,b,c\n");
scanf("%lf%lf%lf",&a,&b,&c);
printf("方程为ax^2+bx+c=0");
if (b*b-4.0*a*c>=0) {
x1=(-b+sqrt(b*b-4.0*a*c))/2.0*a;
x2=(-b-sqrt(b*b-4.0*a*c))/2.0*a;
}
else {
x1=-b/2.0*a;
x2=sqrt(-(b*b-4.0*a*c))/2.0*a;
}
printf("解得x1=%f,x2=%f",x1,x2);
return 0; 展开
程序的末尾少了分号。另外,分母上的“2a”少了括号。
#include <stdio.h>
#include <math.h>
int main()
{ double x1,x2,a,b,c;
printf("已知方程ax^2+bx+c=0,请输入a,b,c\n");
scanf("%lf%lf%lf",&a,&b,&c);
printf("方程为ax^2+bx+c=0\n"); //有改动
if (b*b-4.0*a*c>=0)
{ x1=(-b+sqrt(b*b-4.0*a*c))/(2.0*a); //有改动
x2=(-b-sqrt(b*b-4.0*a*c))/(2.0*a); //有改动
}
else
{ x1=-b/(2.0*a); //有改动
x2=sqrt(-(b*b-4.0*a*c))/(2.0*a); //有改动
}
printf("解得x1=%f,x2=%f",x1,x2);
return 0;
}
忘了括号,谢谢了
#include <math.h>
#include <stdio.h>
int main()
{
double x1, x2, a, b, c;
printf("已知方程ax^2+bx+c=0,请输入a,b,c\n");
scanf("%lf%lf%lf", &a, &b, &c);
printf("方程为ax^2+bx+c=0");
if (b * b - 4.0 * a * c >= 0)
{
x1 = (-b + sqrt(b * b - 4.0 * a * c)) / (2.0 * a);
x2 = (-b - sqrt(b * b - 4.0 * a * c)) / (2.0 * a);
}
else
{
x1 = -b / (2.0 * a);
x2 = sqrt(-(b * b - 4.0 * a * c)) / (2.0 * a);
}
printf("解得x1=%f,x2=%f", x1, x2);
return 0;
}
好,忘了括号,谢谢啦
1、unexpected end of file found翻译成中文:发现异常的文件结尾
错误信息说明:源代码的文件末尾存在异常情况,可能有中文字符或全角字符等非正常字符。
2、通常是大括号匹配出了问题;
end of file 就是 EOF——传输控制符
在C源文件里要是大括号 没有 ‘’}‘’ 这个给他匹配完,
那么在编译栈里的"{"就不能消去,出现EOF时栈不为空,于是有:
'unexpected end of file found”
【总结】
根据你的代码,题主应该是没有加大括号的问题导致发现错误。
——————————————————————
纯打字输入,望采纳~
好,谢谢啦