| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 580 人关注过本帖
标题:我是初学者,请问该程序哪里错了,请大家指教!
只看楼主 加入收藏
西玉
Rank: 1
来 自:河南郑州
等 级:新手上路
帖 子:7
专家分:3
注 册:2010-5-8
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
我是初学者,请问该程序哪里错了,请大家指教!
题目:求方程ax平方+bx+c=o的根,用三个函数分别求档b平方-4ac大于0,等于0,小于0时的根,并输出结果。从主函数输入a,b,c.
下面是我个人所编写的,但是错误,请问为什么,并希望高人能给出正确答案,谢谢!



#include <iostream.h>
#include <cmath.h>
int main()
{ float a,b,c,x1,x2;
  cout<<"please enter three numbers:"<<endl;
  cin>>a>>b>>c;
  if((-b+sqrt(b*b-4*a*c)/(2*a)<0)  &&  (-b-sqrt(b*b-4*a*c)/(2*a)<0)
      { cout<<"there id no gen"<<endl; }
  if((-b+sqrt(b*b-4*a*c)/(2*a)>=0)  &&  (-b-sqrt(b*b-4*a*c)/(2*a)>=0)
      {    x1=(-b+sqrt(b*b-4*a*c)/(2*a));
    x2=(-b-sqrt(b*b-4*a*c)/(2*a));  }
  cout<<"x1="<<x1<<endl;
  cout<<"x2="<<x2<<endl;
       return 0;





   }
搜索更多相关主题的帖子: 指教 
2010-05-10 11:45
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:3 
我写了一个供楼主参考,请多指教:
程序代码:
#include<iostream>
#include<cmath>
using namespace std;

int main(int argc, char* argv[])
{
    float a,b,c;
    float x1,x2;
    cout<<"请输入方程ax^2+bx+x=0的各项系数:"<<endl;
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    cout<<"c=";
    cin>>c;

    if(a==0)
        cout<<"方程只有一个实根:x="<<-(c/b)<<endl;
    float temp=b*b-4.0*a*c;
    if(temp<0)
        cout<<"方程没有实根!"<<endl;
    else if(temp<1.0e-6)        //这句是判断temp是否等于0,浮点数是不精确存储的,所以不直接跟0做比较。
        cout<<"方程有两个相等的实根:"<<"x1=x2="<<-b/2.0*a<<endl;
    else
    {
        temp=sqrt(temp);
        x1=(-b+temp)/2.0*a;
        x1=(-b-temp)/2.0*a;
        cout<<"方程有两个实根:"<<"x1="<<x1<<ends<<ends<<"x2="<<x2<<endl;

    }

 

南国利剑
2010-05-10 12:58
独自游者
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2010-5-12
收藏
得分:3 


#include <iostream.h>
#include <cmath.h>
int main()
{
  float a,b,c,d,x1,x2;
  cout<<"please enter three numbers:"<<endl;
  cin>>a>>b>>c;
  d=sqrt(b*b-4*a*c);
   x1=(-b+d)/(2*a));
   x2=(-b-d)/(2*a));
    if(sqrt(b*b-4*a*c)<0)  
       cout<<"there id no gen"<<endl;
  esle
  if(sqrt(b*b-4*a*c)==0)
{
   cout<<"there is one gen"<<endl;
  cout<<"x1=x2"<<x1<<endl;
}
 else
{
 cout<<"there is two  gen"<<endl;

   
  cout<<"x1="<<x1<<endl;
  cout<<"x2="<<x2<<endl;
}
}
      
2010-05-12 21:43
独自游者
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2010-5-12
收藏
得分:0 
看看那个行不行.........
2010-05-12 21:44
xgpfree
该用户已被删除
收藏
得分:4 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-12 22:41
xgpfree
该用户已被删除
收藏
得分:4 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-12 22:48
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:6 
#include <iostream.h>
#include <cmath.h>
int main()
{ float a,b,c,x1,x2;
  cout<<"please enter three numbers:"<<endl;
  cin>>a>>b>>c;
  if((-b+sqrt(b*b-4*a*c)/(2*a)<0)  &&  (-b-sqrt(b*b-4*a*c)/(2*a)<0) ( 不是这样判断的)
      { cout<<"there id no gen"<<endl; }
  if((-b+sqrt(b*b-4*a*c)/(2*a)>=0)  &&  (-b-sqrt(b*b-4*a*c)/(2*a)>=0)
      {    x1=(-b+sqrt(b*b-4*a*c)/(2*a));
    x2=(-b-sqrt(b*b-4*a*c)/(2*a));  }
  cout<<"x1="<<x1<<endl;
  cout<<"x2="<<x2<<endl;
       return 0;
   }
数学公式要吃透点,帮你改了改看是不是这东东
#include <iostream.h>
#include <math.h>
#include"stdlib.h"
int main()
{ float a,b,c;
double x1,x2;
cout<<"please enter three numbers:"<<endl;
  cin>>a>>b>>c;
    if(b*b-4*a*c<0){cout<<"there id no gen"<<endl;}
      else if(b*b-4*a*c==0){x1=x2=((-b)/2*a);}
        else{
             x1=(-b-sqrt(b*b-4*a*c))/(2*a);
             x2=(-b+sqrt(b*b-4*a*c))/(2*a);
             }
       cout<<"x1="<<x1<<endl;
  cout<<"x2="<<x2<<endl;
       return 0;
    }  

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2010-05-13 09:56
快速回复:我是初学者,请问该程序哪里错了,请大家指教!
数据加载中...
 
   



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

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