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下面又没有。。
...全文
67 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
卢队长 2010-10-24
  • 打赏
  • 举报
回复
首先浮点数与0比较不可能直接跟0比较,与1e-6(接近与0)比较;

%8.4fi %8.4f是浮点数输出格式,它的意思是整数部分8个字节,小数点部分为4个字节,如果都是小于格式输出的原样输出,超出了就按格式输出!i是复数的表达方式,后面要把i打印出来,所以这样写了
重庆-老白 2010-10-24
  • 打赏
  • 举报
回复
大哥,麻烦你讲中文啦``
suchx 2010-10-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 loveqingjian 的回复:]
因为你的disc定义的是float型
浮点型不可能完全等于零
所以为了判读需要加上一个范围1e-6
当在0附近这个范围内都当作等于0

将判断改为if(fabs(disc)<=0)永远为假
[/Quote]
This is what taught by professors, however when I debug the Ada program I find it uses code such as If(parameter=0.0) Then. It is strange.
重庆-老白 2010-10-24
  • 打赏
  • 举报
回复
没事,清华的c程序设计这本书+bbs.csdn.net=《c primer plus》
Woodz 2010-10-23
  • 打赏
  • 举报
回复
建议楼主还是找本国外的入门书看看吧,很多人都推荐学习C语言的新手看 《c primer plus》 ,另,我正在看另一本,觉得国外的入门书很容易懂
loveqingjian 2010-10-23
  • 打赏
  • 举报
回复
%f是要输出的数的输出格式控制
i是表示虚根的那个符号

如果if语句代码块中只有一行语句{}可以省略。
loveqingjian 2010-10-23
  • 打赏
  • 举报
回复
1e-6是1*10的-6次方
loveqingjian 2010-10-23
  • 打赏
  • 举报
回复
因为你的disc定义的是float型
浮点型不可能完全等于零
所以为了判读需要加上一个范围1e-6
当在0附近这个范围内都当作等于0

将判断改为if(fabs(disc)<=0)永远为假
重庆-老白 2010-10-23
  • 打赏
  • 举报
回复
清华的书代码后面没说明解释。。真的很难懂
重庆-老白 2010-10-23
  • 打赏
  • 举报
回复
看代码,昏头转向;敲代码,一片迷茫;到这里解密代码,恍然大悟;隔几天再看代码,又重复……

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧