哪里有错误啊?
#include<stdio.h>#include<math.h>
void main()
{
double a,b,c,A,q,p,x1,x2;
printf("求a*x^2+b*x+c=0的根,输入啊a,b,c的值\n");
scanf("%lf,%lf,%lf",&a,&b,&c);
A=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(A)/(2*a);
x1=p+q;
x2=p-q;
printf("\nx1=%5.2f\nx2=%5.2f",x1,x2);
}
我输入不管输入任何数字都算出来的结果都是不正确的,而且这个结果固定,这是哪里有问题啊,求教,谢谢 scanf是格式化输入,你输入的格式应该跟里面一样,例如:2,3,1 baige 发表于 2020-7-22 07:04
scanf是格式化输入,你输入的格式应该跟里面一样,例如:2,3,1
不行啊,2,3,1输入也是错的,输入格式和scanf里面的一样,不应该是输入小数吗?但是为不管是整数还是小数算出来都不对 求a*x2+x+c=0的根,输入a,b,c的值
2,-5,3
x1 = 1.50
x2 = 1.00
Press any key to continue
求ax2+b*x+c=0的根,输入a,b,c的值
2,3,1
x1 = - 0.50
x2 = - 1.00
Press any key to continue
我这里算是没有问题的,兄弟! 是不是你输入时的输入法不是英文的逗号? 你要搞清楚,如果A小于0,你怎么求平方根?
应该加上条件判断。A小于0,无根。A=0,只有一个根,A>0,才是你这两个根 405794672 发表于 2020-7-23 09:35
你要搞清楚,如果A小于0,你怎么求平方根?
应该加上条件判断。A小于0,无根。A=0,只有一个根,A>0,才是 ...
求ax^2+bx+c-的根,输入a,b.c的值
-2,6,9
x1 = -1.10
x2 = 4.10
Press any key to continue
不是判断 A 是否大于 0,而是要判断:b^2 - 4*a*c >= 0
A不就是b^2 - 4*a*c嘛?{:10_264:} 风过无痕1989 发表于 2020-7-23 09:58
求ax^2+bx+c-的根,输入a,b.c的值
-2,6,9
x1 = -1.10
大侠,楼主已经把b^2-4*a*c赋值给A了 如果你的输出都是0的话,应该是输入格式的问题,就像二楼说的那样中间要有逗号,而且必须是英文状态下的逗号,你的程序我运行起来也是正确的
如果你的还不行,建议你把程序出错的输入输出截图发上来 不是不想放图,是这个论坛我不知道怎么放图,点图片它让我输入地址没见过的操作啊0.0
A现在没有判断大于0还是小于0,但是我是人为控制输入的数字的
求a*x^2+b*x+c=0的根,输入啊a,b,c的值
1 3 2
x1=92559631349317831000000000000000000000000000000000000000000000.00
x2= 0.00Press any key to continue
这是我输入的一组数字,跳出来的是这个
莫名其妙小邪 发表于 2020-7-23 20:44
不是不想放图,是这个论坛我不知道怎么放图,点图片它让我输入地址没见过的操作啊0.0
A现在没有判断大于0 ...
应该不是逗号之类的问题,我编译的时候是0错误 0警告的 本帖最后由 风过无痕1989 于 2020-7-23 21:21 编辑
得,上传图片要审核,能不能放出来,还不知道呢
还是用自己的方式,图文识别后发出来吧:
a*x^2+b*x+c=0,输入 a,b,c 的值
1,3,2
x1= -1.00
x2= -2.00
---------------------------------------------
Process exited after 9.084 seconds with return value 19
请按任意键继续 . . .
(今天的 VC++ 出问题了,没办法,下了个DEV C++,就有了这个运算时间) 风过无痕1989 发表于 2020-7-23 21:15
得,上传图片要审核,能不能放出来,还不知道呢
我在上面给出了一种输入得出的结果
然后为我的程序现在是直接复制我这个帖子上面写的语句的
可以分析一波 你试一下用scanf_s来输入 李龙江 发表于 2020-7-23 21:26
你试一下用scanf_s来输入
这个是啥用法,我还没有学到这个 直接scanf_s("");这样子吗? 莫名其妙小邪 发表于 2020-7-23 21:18
我在上面给出了一种输入得出的结果
然后为我的程序现在是直接复制我这个帖子上面写的语句的
可以分析一 ...
兄弟,我好像知道的问题出在哪了,你这一句scanf("%lf,%lf,%lf",&a,&b,&c); 要求输入是用逗号隔开,而你输入时不是用逗号隔开,用了空格隔开的。我试了一下,输出也是乱七八糟的 风过无痕1989 发表于 2020-7-23 21:41
兄弟,我好像知道的问题出在哪了,你这一句scanf("%lf,%lf,%lf",&a,&b,&c); 要求输入是用逗号隔开,而 ...
破案了
我发现我用的逗号还是中文格式的逗号,那怪之前空格 逗号都不行 莫名其妙小邪 发表于 2020-7-24 21:02
破案了
我发现我用的逗号还是中文格式的逗号,那怪之前空格 逗号都不行
我在4楼就提醒你,可能是逗号问题
我也是新手,需要点荣誉,给鼓励鼓励,弄个最佳答案嘛
页:
[1]