C语言编程问题。帮忙查找一下错误,谢谢。

#include"stdafx.h"#include<math.h>intmain(intargc,char*argv[]){floata,b,c;doublez,x,y... #include "stdafx.h"
#include <math.h>
int main(int argc, char* argv[])
{ float a,b,c;
double z,x,y;
printf("请输入a,b,c:");
scanf("%c",&a);
scanf("%c",&b);
scanf("%c",&c);
z=b*b-4*a*c;
if(z>0)
{x=(-b+sqrt(z))/2;
y=(-b-sqrt(z))/2;
printf("%f",x);
printf("%f",y);}
else
{printf("无解");}
return 0;
}

就是求aX²+bx+c=0的根。设b²-4ac>0,求两个根。。不知道哪里错了,一运行老是无解。。
展开
 我来答
古树上的毛毛虫
2012-05-10
知道答主
回答量:44
采纳率:0%
帮助的人:31.2万
展开全部
scanf("%c",&a);
scanf("%c",&b);
scanf("%c",&c);
你这里定义的是和前边float a,b,c;
是矛盾的,你定义的浮点型的,取的值是字符型的。当你这样样做的是后,如果你输入之后编译器就会自动进行转换,把字符型转换为浮点型的。这样你当然不会得到答案。呵呵 希望能有帮助,
Mr_Yang2012
2012-05-10 · TA获得超过1647个赞
知道小有建树答主
回答量:392
采纳率:0%
帮助的人:487万
展开全部
scanf("%c",&a);
scanf("%c",&b);
scanf("%c",&c);
可以肯定你的程序输入函数写错了,格式控制符不对,%c改为%f
%c是控制输入字符的
另外建议a b c也用double 格式控制符用 %lf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
576953615
2012-05-10 · TA获得超过1.2万个赞
知道答主
回答量:606
采纳率:0%
帮助的人:181万
展开全部
头文件应该是 #include "stdio.h" 才对,输入a,b,c的时候应该用%f定位符啊,建议浮点型的变量统一,都用double或是float.否则可以出现数据差错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1812573723
2012-05-10 · TA获得超过2355个赞
知道小有建树答主
回答量:943
采纳率:88%
帮助的人:872万
展开全部
scanf里边的%c改成%f。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式