急求这个C语言的问题错在哪里?(在线等)

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:25:59
/*********************************************************************

编号0103: 从键盘输入a,b,c三个实数值,输出 a X*X + b X + c =0 这个一元

二次方程的根。

**********************************************************************/
#include <stdio.h>
#include <math.h>
main()
{
double a,b,c;
double x1,x2;
printf("输入3个实数:");
scanf("%lf%lf%lf\n",&a,&b,&c);
x1=((-b)+sqrt(b*b-4*a*c))/(2*a);
x2=((-b)-sqrt(b*b-4*a*c))/(2*a);
printf("%lf,%lf\n",x1,x2);
return=0
}

E:\c++ 6.0\100题\bh0103.cpp(14) : error C2018: unknown character '0xa3'
E:\c++ 6.0\100题\bh0103.cpp(14) : error C2018: unknown character '0xbb'
E:\c++ 6.0\100题\bh0103.cpp(15) : error C2146: syntax error : missing ';' before identifier 'scanf'
E:\c++ 6.0\100题\bh0103.cpp(19) : error C2059: syntax error : '='

#include <stdio.h>
#include <math.h>
int main(void) //main()后面不需要接return 0;,不算错但不规范
{
double a,b,c;
double x1,x2;
printf("输入3个实数:\n");//如果你是直接复制的,
//这里的分号是中文输入法下的分号
scanf("%lf %lf %lf",&a,&b,&c);//scanf语句中,不加\n
if(b*b-4*a*c>=0) //不判断的话,容易输出错误
{
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("%lf,%lf\n",x1,x2);
}
else
printf("无根");
return 0;//return后面没有等号。
}

printf("输入3个实数:");
仔细看下这句
切换英文输入这句 重新编译

#include <stdio.h>
#include <math.h>
main()
{
double a,b,c;
double x1,x2;
printf("输入3个实数:");//你这里的“:”“;”都是中文的,所 以报错
scanf("%lf%lf%lf",&a,&b,&c);//这里不应该输入回车符
x1=((-b)+sqrt(b*b-4*a*c))/(2*a);
x2=((-b)-sqrt(b