| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11960 人关注过本帖
标题:求二元一次方程的根的程序
只看楼主 加入收藏
伍则帝
Rank: 3Rank: 3
来 自:四川省南充市高坪区
等 级:论坛游民
威 望:6
帖 子:100
专家分:34
注 册:2013-3-16
结帖率:84%
收藏
已结贴  问题点数:20 回复次数:4 
求二元一次方程的根的程序
有句语句不懂,望指教!
#include <stdio.h>
#include <math.h>
void main()
{
    float a,b,c, disc,x1,x2,realpart,imagpart;
    printf("输入a,b,c:");
    scanf("%f,%f,%f",&a,&b,&c);
    if (fabs(a)<=1e-6)//这是什么意思?
        printf("非二次方程");
    else
    {
        disc=b*b-4*a*c;
        if(fabs(disc)<=1e-6)//这里是不是应该为if(fabs(disc)=1e-6)哟?
            printf("有两个相等实数根:\n x1=x2=%8.4f \n",-b/(2*a));
        else
            if(disc>1e-6)
            {
              x1=(-b+sqrt(disc))/(2*a);
              x2=(-b-sqrt(disc))/(2*a);
              printf("有两个实数根:\nx1=%8.4f\nx2=%8.4f\n",x1,x2);
            }
            else
            {
            realpart=-b/(2*a);
            imagpart=sqrt(-disc)/(2*a);
            printf("有两个复根:\n");
            printf("x1=%8.4f+%8.4f\n",realpart,imagpart);
            }
    }
搜索更多相关主题的帖子: include 
2013-03-23 08:43
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
收藏
得分:7 
if (fabs(a)<=1e-6)//这是什么意思?意思是a<=0的话,不是二次方程;
if(fabs(disc)<=1e-6)//这里是不是应该为if(fabs(disc)=1e-6)哟?这个的意思是如果b平方-4倍的a*c<=0,则有两相等的实数根,你可以用==,但由于<=本身是一个或命题,所以这样也没错。
2013-03-23 09:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
1e-6 是指数的表示方法

DO IT YOURSELF !
2013-03-23 09:58
s18270722463
Rank: 2
等 级:论坛游民
帖 子:53
专家分:28
注 册:2012-6-11
收藏
得分:7 
(fabs(a)<=1e-6)//a的绝对值小于10的-6次方,对a的绝对判断是否过小
if(fabs(disc)<=1e-6)//可以的,这说明这个无限接近于0了
2013-03-23 10:01
伍则帝
Rank: 3Rank: 3
来 自:四川省南充市高坪区
等 级:论坛游民
威 望:6
帖 子:100
专家分:34
注 册:2013-3-16
收藏
得分:0 
哦,谢谢了。
2013-03-23 10:48
快速回复:求二元一次方程的根的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019401 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved