请问,009第三章 顺序程序设计03的例题4.15
本帖最后由 fzzy200 于 2022-8-14 09:51 编辑#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
}
为什么 结果是:
x1=-1.#J
x2=-1.#J scanf("%lf,%lf,%lf",&a,&b,&c);
输入:100,200,10 输入的数值不正确,sqrt平方根的值是要大于0的 蓝Q曦 发表于 2022-8-13 16:41
输入的数值不正确,sqrt平方根的值是要大于0的
不对吧,这问题是scanf里有文字造成的吧 ExiaGN001 发表于 2022-8-13 16:48
不对吧,这问题是scanf里有文字造成的吧
这个还是要看怎么输入的 本帖最后由 fzzy200 于 2022-8-14 10:05 编辑
蓝Q曦 发表于 2022-8-13 16:41
输入的数值不正确,sqrt平方根的值是要大于0的
因为有函数要有一定的取值范围,还有scanf中的a=,b=.c=;要去掉 或者用printf语句~多谢 liuzhengyuan 发表于 2022-8-14 00:58
这个还是要看怎么输入的
给的内容合乎要求的话就不应该有问题啊 对二楼做个补充,就是scanf的格式控制字符串中若是有普通字符,那么你输入的时候也要输入该字符,就比如你要输入a= ,b=,c= 所以一般在输入格式控制字符串时不写除分隔符之外的普通字符,包括转义字符 。 霸王龟 发表于 2022-8-14 12:03
对二楼做个补充,就是scanf的格式控制字符串中若是有普通字符,那么你输入的时候也要输入该字符,就比如你 ...
试了~对的谢谢
页:
[1]