一个c语言问题 拜求高人指教我输入a b c 后 为什么不管输入的是什么数 输出总是 “没有根”呢?

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:43:02
# include <stdio.h>
# include <math.h>
void main()
{
double a,b,c,dt,x1,x2,sdt,temp;
printf("请输入a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
dt=(b*b)-(4*a*c);
if(a==0)
printf("这不是二次函数,请再次输入");
else
{if(dt<0)
printf("没有根");
else
{
sdt=sqrt(b*b-4*a*c);
temp=(-b)/(2*a);
x1=temp+(sdt/(2*a));
x2=temp-(sdt/(2*a));
printf("%f",x1);
printf("%f",x2);
}
}

}

请楼主注意在C语言中,输入或者输出double型数据的时候需要使用%lf格式控制符的,对于%f,当变量被定义为floa类型的时候才使用的,请楼主注意!程序改正之后如下所示:

# include <stdio.h> 

# include <math.h> 

void main() 

double a,b,c,dt,x1,x2,sdt,temp; 

printf("请输入a,b,c\n"); 

scanf("%lf%lf%lf",&a,&b,&c);//此句进行修改,格式控制符使用%lf

dt=(b*b)-(4*a*c);

if(a==0) 

printf("这不是二次函数,请再次输入"); 

else 

{if(dt<0) 

printf("没有根\n"); 

else 

sdt=sqrt(b*b-4*a*c); 

temp=(-b)/(2*a); 

x1=temp+(sdt/(2*a)); 

x2=temp-(sdt/(2*a)); 

printf("%f\n",x1); 

printf("%f\n",x2); 

}

程序的运行结果如下(当a输入4,b输入10,c输入6的时候):

拜求C语言源代码 一个C语言问题 请大家指教. 求**#高人#**指点C语言问题 有个关于C语言的问题,请高人指教! 求一个C语言问题。 一个C语言编程问题,初级问题啊,求高人指点. 拜求C语言高手为师! C语言 实验题目 拜求答案 电脑开机问题,拜求大师指教!!! 一个简单的C语言问题,请哪位高手指教?