标题:实部为什么为零?
只看楼主
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
结帖率:100%
已结贴  问题点数:20 回复次数:1 
实部为什么为零?
怎样使输入 3 4 5 时输出实部为小数而不是0?
#include<iostream>
#include <math.h>
using namespace std;
void dayn(int a,int b,int c)
{
    float m,x1,x2;
    m=sqrt(b*b-4*a*c);
    x1=(-b+m)/(2*a);
    x2=(-b-m)/(2*a);
    cout<<"方程的两个实根为"<<endl<<"x1="<<x1<<endl<<"x2="<<x2<<endl;
   
}
void deyn(int a,int b,int c)
{
    float x;
    x=(-b)/(2*a);
    cout<<"方程只有一个根,它为"<<x<<endl;
}
void xyn(int a,int b,int c)
{
    float disc,p,q;
    disc=b*b-4*a*c;
    p=-b/(2*a);
    q=sqrt(-disc)/(2*a);
    cout<<"方程有两个虚根,它们为"<<endl<<"x1="<<p<<"+"<<q<<"i"<<endl;
    cout<<"x2="<<p<<"-"<<q<<"i"<<endl;
}
main()
{
    float a,b,c,disc;
    cout<<"请输入一元二次方程的三个系数"<<endl;
    cin>>a>>b>>c;
    disc=b*b-4*a*c;
    if(disc>0)dayn(a,b,c);
    else if(disc==0)deyn(a,b,c);
    else xyn(a,b,c);
}
搜索更多相关主题的帖子: include 
2016-08-26 20:49
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
把2改为2.0

随便说一下,C++中有复数类;C更厉害,复数是内建类型
2016-08-26 21:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-468216-1-1.html




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

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