2元一次方程的问题
重庆-老白 2010-10-23 08:02:11 先把代码打出来,慢慢问问题,不懂的多了额
#include<stido.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) \\这个为什么不是<=0呢?
printf("is not a quadratic\n");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6) \\这里不是(b*b-4ac)=0才有2个相同的实根吗?为什么要 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.4fand%8.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("has complex roots:\n");
printf("%8.4f+%8.4fi\n",realpart,imagpart);\\%8.4fi后面的i是什么意思?
printf("%8.4f-%8.4fi\n",realpart,imagpart);
}
}
}
if欠套语句中的“{}"大括号在什么情况才用啊?第一个else下面有一个“}”,第二个else下面又没有。。