一只草泥马 发表于 2013-5-14 11:00:19

零基础C语言入门009出现问题求解答

#include <stdio.h>
#include <math.h>
#include <stdlib.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.2lf\nx2=%5.2lf\n",x1,x2);
        system("pause");
}

无论输入什么数字,X1和X2的值都是1.#J
检查代码我也是在检查不出来什么问题
求帮助

都市小矮人 发表于 2013-5-14 13:01:46

我只是路过打酱油的。:lol

指间的阳光 发表于 2013-5-14 22:15:55

scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c)是这一行的问题。应该这样写scanf("%lf,%lf,%lf",&a,&b,&c);,输入的格式不对。你在看看输入函数的用法就知道了。

a1c2c3 发表于 2013-5-15 08:32:58

支持3楼   强烈支持3楼ing……

申鸿同学 发表于 2013-5-15 08:42:46

3楼是大神    向三楼大神敬礼

qvbmnm520 发表于 2013-5-15 09:02:03

路过学习!!!!

★远处的灯火 发表于 2013-5-15 09:08:44

你这个程序有两点错误:第一个错误是你的输出格式有错误,应该是lf格式的double型输出格式;
第二个错误是导致你输出总是出现错误的最直接原因,你的输入数据有问题,你应该保证输入的b的平方减去4*a*c的结果是正数,要不然你的sqrt是不能开负数的平方的,所以就出错了。

C.hing. 发表于 2013-5-15 09:48:56

我只是路过打酱油的。

知遇 发表于 2013-5-18 14:50:20

强烈支持楼主ing……

づ綄镁の爱ヽ 发表于 2013-5-18 15:30:26

scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);

这个scanf语句 里面的桥口是a= ,b=,   所以你运行的时候,输入也必须是a=? b? 要严格按照格式来的
页: [1]
查看完整版本: 零基础C语言入门009出现问题求解答