安室透 发表于 2014-7-14 22:12:49

小菜鸟试了试C语言009的例题2,运行的结果有问题,求大神帮忙改改~~~

本帖最后由 风之残月 于 2014-11-10 10:18 编辑

#include <math.h>
#include <stdio.h>
void main()
{
double a , b , c , x1 , x2 , p , q, disc;
printf("input three number\n");
scanf("a=%f b=%f c=%f", &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("x1=%\nx2=%f\n", x1 , x2);
}

为何输入1 2 1时出现
x1=-1 #IND00
x2=-1 #IND00
#IND00为何会出现??{:5_94:}

流行语 发表于 2014-7-14 22:12:50

scanf输入格式有错,scanf("a=%lf b=%lf c=%lf", &a , &b , &c);输入的类型应该是double,还有你输入时需要以这样的格式输入:a=1 b=2 c=1。

墨血 发表于 2014-7-14 22:35:16

scanf()有错

牡丹花下死做鬼 发表于 2014-7-14 23:41:54

看来一眼 其他没看
至少 scanf写错了 abc是double不是float

绝尘の初 发表于 2014-7-18 16:43:58

scanf("a=%lf b=%lf c=%lf", &a , &b , &c);
输入时
a=1 b=2 c=1
格式要与scanf相同
所以最好把a=这些放在printf中输出
页: [1]
查看完整版本: 小菜鸟试了试C语言009的例题2,运行的结果有问题,求大神帮忙改改~~~