
帮帮我修改一道C语言初学者题目
改正下列程序中的错误,输入参数a,b,c,求一元二次方程ax²+bx+c=0的根:#include<stdio.h>#include<math.h>intmai...
改正下列程序中的错误,输入参数a,b,c,求一元二次方程ax²+bx+c=0的根:
#include<stdio.h>
#include<math.h>
int main(void)
{
double a,b,c,d;
printf("input a,b,c:");
scanf("%lf,%lf,%lf",&a,&b,&c);
d=b*b-4*a*c;
if(a==0){
if(b==0){
if(c==0)
printf("参数都为零,方程无意义!\n");
else
printf("a和b为0,c不为0,方程不成立\n");
}
else
printf("x=%0.2f\n",-c/b);
}
else
if(d>=0){
printf("x1=%0.2f\n",(-b+sqrt(d)/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d)/(2*a));
}
else{
printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
}
return 0;
}
有几个错误帮帮我看看我看不出来哦 展开
#include<stdio.h>
#include<math.h>
int main(void)
{
double a,b,c,d;
printf("input a,b,c:");
scanf("%lf,%lf,%lf",&a,&b,&c);
d=b*b-4*a*c;
if(a==0){
if(b==0){
if(c==0)
printf("参数都为零,方程无意义!\n");
else
printf("a和b为0,c不为0,方程不成立\n");
}
else
printf("x=%0.2f\n",-c/b);
}
else
if(d>=0){
printf("x1=%0.2f\n",(-b+sqrt(d)/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d)/(2*a));
}
else{
printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
}
return 0;
}
有几个错误帮帮我看看我看不出来哦 展开
展开全部
第21、22行:
printf("x1=%0.2f\n",(-b+sqrt(d)/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d)/(2*a));
要给为:
printf("x1=%0.2f\n",(-b+sqrt(d)/(2*a)));
printf("x2=%0.2f\n",(-b-sqrt(d)/(2*a)));
或者下面的程序也可以
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,pbs,x1,x2,p,q;
printf("请依次输入二次方程的系数:\n");
scanf("%f,%f,%f",&a,&b,&c);
pbs=b*b-4*a*c;
if(pbs>0)
{
x1=(-b+sqrt(pbs))/(2*a);
x2=(-b-sqrt(pbs))/(2*a);
printf("两个不相等的实跟为:x1=%5.4f,x2=%5.4f\n",x1,x2);
}
else if(pbs==0)
{x1=-b/(2*a);
printf("两个相等的实跟为:x1=x2=%5.4f\n",x1);
}
else
{
p=--b/(2*a);
q=sqrt(-pbs)/(2*a);
printf("两个不相等的虚根为:x1=%5.4f+%5.4fi,x2=%5.4f-%5.4fi\n",p,q,p,q);
}
}
printf("x1=%0.2f\n",(-b+sqrt(d)/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d)/(2*a));
要给为:
printf("x1=%0.2f\n",(-b+sqrt(d)/(2*a)));
printf("x2=%0.2f\n",(-b-sqrt(d)/(2*a)));
或者下面的程序也可以
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,pbs,x1,x2,p,q;
printf("请依次输入二次方程的系数:\n");
scanf("%f,%f,%f",&a,&b,&c);
pbs=b*b-4*a*c;
if(pbs>0)
{
x1=(-b+sqrt(pbs))/(2*a);
x2=(-b-sqrt(pbs))/(2*a);
printf("两个不相等的实跟为:x1=%5.4f,x2=%5.4f\n",x1,x2);
}
else if(pbs==0)
{x1=-b/(2*a);
printf("两个相等的实跟为:x1=x2=%5.4f\n",x1);
}
else
{
p=--b/(2*a);
q=sqrt(-pbs)/(2*a);
printf("两个不相等的虚根为:x1=%5.4f+%5.4fi,x2=%5.4f-%5.4fi\n",p,q,p,q);
}
}
展开全部
20 21行少括号。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<math.h>
int main(void)
{
double a,b,c,d;
printf("input a,b,c:");
scanf("%lf,%lf,%lf",&a,&b,&c);
d=b*b-4*a*c;
if(a==0){
if(b==0){
if(c==0)
printf("参数都为零,方程无意义!\n");
else
printf("a和b为0,c不为0,方程不成立\n");
}
else
printf("x=%0.2f\n",-c/b);
}
else
if(d>=0){
printf("x1=%0.2f\n",(-b+sqrt(d))/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d))/(2*a));
}
else{
printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
}
return 0;
}
//修改如上 请验证之
#include<math.h>
int main(void)
{
double a,b,c,d;
printf("input a,b,c:");
scanf("%lf,%lf,%lf",&a,&b,&c);
d=b*b-4*a*c;
if(a==0){
if(b==0){
if(c==0)
printf("参数都为零,方程无意义!\n");
else
printf("a和b为0,c不为0,方程不成立\n");
}
else
printf("x=%0.2f\n",-c/b);
}
else
if(d>=0){
printf("x1=%0.2f\n",(-b+sqrt(d))/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d))/(2*a));
}
else{
printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
}
return 0;
}
//修改如上 请验证之
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<math.h>
int main(void)
{
double a,b,c,d;
printf("input a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
d=b*b-4*a*c;
if(a==0){
if(b==0){
if(c==0)
printf("参数都为零,方程无意义!\n");
else
printf("a和b为0,c不为0,方程不成立\n");
}
else
printf("x=%0.2f\n",-c/b);
}
else
if(d>=0){
printf("x1=%0.2f\n",(-b+sqrt(d))/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d))/(2*a));
}
else{
printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
}
return 0;
}
改了scanf和ptintf的地方,但愿能帮到你
#include<math.h>
int main(void)
{
double a,b,c,d;
printf("input a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
d=b*b-4*a*c;
if(a==0){
if(b==0){
if(c==0)
printf("参数都为零,方程无意义!\n");
else
printf("a和b为0,c不为0,方程不成立\n");
}
else
printf("x=%0.2f\n",-c/b);
}
else
if(d>=0){
printf("x1=%0.2f\n",(-b+sqrt(d))/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d))/(2*a));
}
else{
printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
}
return 0;
}
改了scanf和ptintf的地方,但愿能帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询