#include<stdio.h> #include<math.h> int main () {
#include<stdio.h>#include<math.h>intmain(){doublea,b,c,disc,x1,x2,R,im;scanf("%lf,%lf...
#include<stdio.h>
#include<math.h>
int main ()
{
double a,b,c,disc,x1,x2,R,im;
scanf("%lf,%lf,%lf\n",&a,&b,&c);
printf("%lf*x^2+%lf*x+%lf=0方程的解为\n",a,b,c);
if(fabs(a)<1e-6)
printf("这不是一个二次方程\n");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<1e-6)
x1=-b/2a;
printf("这个方程式有两个相同的解x1=x2=%lf\n",x1);
else
{
if(disc>1e-6)
x1=(-b+sqrt(disc)/(2*a));
x2=(-b-sqrt(disc)/(2*a));
printf("这个方程有两个实数根%lf,%lf",x1,x2);
else
R=-b/2*a;
im=sqrt(-disc)/2*a;
printf("这个方程有两个复数根\n");
printf("%8.4f+%8.4fi\n",R,im);
printf("%8.4f-%8.4fi\n",R,im);
}
}
return 0;
}哪里不对? 展开
#include<math.h>
int main ()
{
double a,b,c,disc,x1,x2,R,im;
scanf("%lf,%lf,%lf\n",&a,&b,&c);
printf("%lf*x^2+%lf*x+%lf=0方程的解为\n",a,b,c);
if(fabs(a)<1e-6)
printf("这不是一个二次方程\n");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<1e-6)
x1=-b/2a;
printf("这个方程式有两个相同的解x1=x2=%lf\n",x1);
else
{
if(disc>1e-6)
x1=(-b+sqrt(disc)/(2*a));
x2=(-b-sqrt(disc)/(2*a));
printf("这个方程有两个实数根%lf,%lf",x1,x2);
else
R=-b/2*a;
im=sqrt(-disc)/2*a;
printf("这个方程有两个复数根\n");
printf("%8.4f+%8.4fi\n",R,im);
printf("%8.4f-%8.4fi\n",R,im);
}
}
return 0;
}哪里不对? 展开
1个回答
展开全部
#include<stdio.h>
#include<math.h>
int main ()
{
double a,b,c,disc,x1,x2,R,im;
scanf("%lf%lf%lf",&a,&b,&c);
printf("%lf*x^2+%lf*x+%lf=0方程的解为\n",a,b,c);
if(fabs(a)<1e-6)
printf("这不是一个二次方程\n");
else
disc=b*b-4*a*c;
if(fabs(disc)<1e-6)
x1=-b/2*a;
printf("这个方程式有两个相同的解x1=x2=%lf\n",x1);
if(disc>1e-6)
x1=(-b+sqrt(disc)/(2*a));
x2=(-b-sqrt(disc)/(2*a));
printf("这个方程有两个实数根%lf,%lf\n",x1,x2);
if(disc<1e-6)
R=-b/2*a;
im=sqrt(-disc)/2*a;
printf("这个方程有两个复数根\n");
printf("%8.4f+%8.4fi\n",R,im);
printf("%8.4f-%8.4fi\n",R,im);
return 0;
}
#include<math.h>
int main ()
{
double a,b,c,disc,x1,x2,R,im;
scanf("%lf%lf%lf",&a,&b,&c);
printf("%lf*x^2+%lf*x+%lf=0方程的解为\n",a,b,c);
if(fabs(a)<1e-6)
printf("这不是一个二次方程\n");
else
disc=b*b-4*a*c;
if(fabs(disc)<1e-6)
x1=-b/2*a;
printf("这个方程式有两个相同的解x1=x2=%lf\n",x1);
if(disc>1e-6)
x1=(-b+sqrt(disc)/(2*a));
x2=(-b-sqrt(disc)/(2*a));
printf("这个方程有两个实数根%lf,%lf\n",x1,x2);
if(disc<1e-6)
R=-b/2*a;
im=sqrt(-disc)/2*a;
printf("这个方程有两个复数根\n");
printf("%8.4f+%8.4fi\n",R,im);
printf("%8.4f-%8.4fi\n",R,im);
return 0;
}
追答
这是改过来的,
改动处scanf("%lf%lf%lf",&a,&b,&c)
这个是固定的一一对应格式,
第二个if后面的x1=-b/2a改为-b/2*a
后面的几个if,else关系有错误,导致判断条件时有问题,给改动了,你自己看一下
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询