111111 发表于 2006-10-2 16:45

c语言

#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,disc,x1,x2,realpart,imagpart;
scanf("%f,%f,%f",&a,&b,&c);
printf("The equation");
if(fabs(a)<=1e-6)
    printf("is not a quadratic\n");
esle
    {
       disc=b*b-4*a*c;
       if(fabs(disc)<=1e-6)
          printf("has two equal roots:%8.4f\n",-b/(2*a));
       else
       if(disc>1e-6)
          {
           x1=(-b+sqrt(disc))/(2*a);
           x2=(-b-sqrt(disc))/(2*a);
           printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2);
          }
          else
           {
          realpart=-b/(2*a);
          imagpart=sqrt(-disc)/(2*a);
          printf("has comoplex roots:\n");
          prinft("%8.4f+%8.4fi\n",realpart,imagpart);
          prinft("%8.4f-%8.4fi\n",realpart,imagpart);
           }
       }
   }
看不出有什么错,但就是错了~~
求助!!!!

powerwind 发表于 2006-10-2 16:59

            prinft("%8.4f+%8.4f\n",realpart,imagpart);
            prinft("%8.4f-%8.4f\n",realpart,imagpart);

printf

111111 发表于 2006-10-2 17:24

原帖由 powerwind 于 2006-10-2 16:59 发表


printf

打错了,还看花了眼
真是惭愧

zaijzhgh 发表于 2006-10-2 19:19

为什么不加一些注释呢???这样也好减少别人的负担啊,要知道不会有很多人愿意一行一行地看程序地。

111111 发表于 2006-10-2 19:55

回到宿舍试了一下,还是不行哦
是不是嵌套语句错了?

111111 发表于 2006-10-2 19:57

原帖由 zaijzhgh 于 2006-10-2 19:19 发表
为什么不加一些注释呢???这样也好减少别人的负担啊,要知道不会有很多人愿意一行一行地看程序地。

:time::time:
才看c语言几天
为了考三级
so~~~~
程序不是自个编写的
书上的

zaijzhgh 发表于 2006-10-3 12:21

我的老大,你的错误不少啊。你看你的第一个“else”:
if(fabs(a)<=1e-6)
    printf("is not a quadratic\n");
esle?????是这个esle吗?应该是else啊!改了这个就没有错了。我测试过。OK!

powerwind 发表于 2006-10-3 12:44

首先,应该细心地写程序。
其次,编译,查看出错信息,修改相应的错误。

2002070344 发表于 2006-10-3 14:09

最后多了一个 }

powerwind 发表于 2006-10-3 15:36

原帖由 2002070344 于 2006-10-3 14:09 发表
最后多了一个 }

没有多啊!

楼主真幸福,大家都在帮你找查错。
页: [1]
查看完整版本: c语言