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,求两个根。。不知道哪里错了,一运行老是无解。。 展开
#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,求两个根。。不知道哪里错了,一运行老是无解。。 展开
展开全部
scanf("%c",&a);
scanf("%c",&b);
scanf("%c",&c);
可以肯定你的程序输入函数写错了,格式控制符不对,%c改为%f
%c是控制输入字符的
另外建议a b c也用double 格式控制符用 %lf
scanf("%c",&b);
scanf("%c",&c);
可以肯定你的程序输入函数写错了,格式控制符不对,%c改为%f
%c是控制输入字符的
另外建议a b c也用double 格式控制符用 %lf
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
头文件应该是 #include "stdio.h" 才对,输入a,b,c的时候应该用%f定位符啊,建议浮点型的变量统一,都用double或是float.否则可以出现数据差错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf里边的%c改成%f。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询