009第三章 顺序程序设计03 例4-15有点疑惑谢谢答疑
#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 本帖最后由 ExiaGN001 于 2022-8-13 16:47 编辑
当scanf中出现格式控制符以外的文字时,你必须给予程序这些文字。
例如scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
在执行时,你输入的应是满足以下格式的字符串:
a=,b=,c=
代码应按照如下格式改动:
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,disc,x1,x2,p,q;
printf("a=");
scanf("%lf",&a);
printf(",b=");
scanf("%lf",&b);
printf(",c=");
scanf("%lf",&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);
}
ExiaGN001 发表于 2022-8-13 16:46
当scanf中出现格式控制符以外的文字时,你必须给予程序这些文字。
例如scanf("a=%lf,b=%lf,c=%lf",&a,&b,& ...
你的这种方法也可以,感谢答疑
页:
[1]