c语言,求找错误
源码#include<stdio.h>#include<math.h>intmain(){printf("ax^2+bx+c=0\n");floata,b,c,e,m,n...
源码
#include<stdio.h>#include<math.h>int main(){ printf("ax^2+bx+c=0\n"); float a,b,c,e,m,n1,n2; printf("输入a,b,c"); scanf("%f,%f,%f",&a,&b,&c); if(a!=0) { e=(pow(b,2)-4*a*c); m=sqrt(e); n1=(-b+m)/2; n2=(-b-m)/2; printf("方程的两个根是:x1=%f,x2=%f",n1,n2); } else { printf("该方程是一元一次方程!"); n1=-c/b; printf("该一元一次方程的根是:x=%f",n1); } getchar(); return 0;}
这是错误的提示内容,麻烦只找C语言的语法错误就行,谢谢 展开
#include<stdio.h>#include<math.h>int main(){ printf("ax^2+bx+c=0\n"); float a,b,c,e,m,n1,n2; printf("输入a,b,c"); scanf("%f,%f,%f",&a,&b,&c); if(a!=0) { e=(pow(b,2)-4*a*c); m=sqrt(e); n1=(-b+m)/2; n2=(-b-m)/2; printf("方程的两个根是:x1=%f,x2=%f",n1,n2); } else { printf("该方程是一元一次方程!"); n1=-c/b; printf("该一元一次方程的根是:x=%f",n1); } getchar(); return 0;}
这是错误的提示内容,麻烦只找C语言的语法错误就行,谢谢 展开
展开全部
#include<stdio.h>
#include<stdafx.h>
#include<math.h>
int main()
{
printf("ax^2+bx+c=0\n");
float a,b,c,e,m,n1,n2;
printf("输入a,b,c");
scanf("%f,%f,%f",&a,&b,&c);
if(a!=0)
{
e=(pow(b,2)-4*a*c);
if (e<0 ){
printf("方程无解");return 1;
}
m=sqrt(e);
n1=(-b+m)/(2*a);
n2=(-b-m)/(2*a);
printf("方程的两个根是:x1=%f,x2=%f",n1,n2);
}
else
{
printf("该方程是一元一次方程!");
n1=-c/b;
printf("该一元一次方程的根是:x=%f",n1);
}
getchar();
return 0;
}
//程序通过
#include<stdafx.h>
#include<math.h>
int main()
{
printf("ax^2+bx+c=0\n");
float a,b,c,e,m,n1,n2;
printf("输入a,b,c");
scanf("%f,%f,%f",&a,&b,&c);
if(a!=0)
{
e=(pow(b,2)-4*a*c);
if (e<0 ){
printf("方程无解");return 1;
}
m=sqrt(e);
n1=(-b+m)/(2*a);
n2=(-b-m)/(2*a);
printf("方程的两个根是:x1=%f,x2=%f",n1,n2);
}
else
{
printf("该方程是一元一次方程!");
n1=-c/b;
printf("该一元一次方程的根是:x=%f",n1);
}
getchar();
return 0;
}
//程序通过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
e有可能是负值,要加一个判断e值的语句,如果e<0,方程无解。
追问
帮忙看看有别的语法错误么
追答
getchar()和这个计算没关系吧,可以不要。scanf里面的逗号没关系。可以编译通过。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二元一次方程的根是除以2a,不是除以2。提示说少了分号,加上去就可以了。
更多追问追答
追问
有语法错误么,可是我没见少分号
追答
图片上没看出来,应该是没问题的。你可以重启IDE,然后重新执行。不行的话贴源码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一句和第二句换下位置
更多追问追答
追问
换后没影响,还有别的么
追答
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,e,m,n1,n2;
scanf("%f%f%f",&a,&b,&c);
if(a!=0)
{
e=b*b-4*a*c;
m=sqrt(e);
n1=(-b+m)/2;
n2=(-b-m)/2;
printf("x1=%f x2=%f\n",n1,n2);
}
else
{
n1=-c/b;
printf("x=%f\n",n1);
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询