一个c语言问题 拜求高人指教我输入a b c 后 为什么不管输入的是什么数 输出总是 “没有根”呢?
来源:百度知道 编辑:UC知道 时间:2024/06/25 16:43:02
# 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语言问题,请哪位高手指教?