| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 299 人关注过本帖
标题:求解二次方程的解 要求调用函数 请帮个忙
收藏  订阅  推荐  打印
lindayanglong
Rank: 2
等级:注册会员
帖子:83
积分:1036
注册:2008-3-9
求解二次方程的解 要求调用函数 请帮个忙

求a*x*x+b*x+c=0的解 要求调用函数
void findroot(double a,double b,double c);
由于返回的值可能没有 可能有一个解 可能有两个解,所以本人不知道该怎么调用函数了,请大家帮忙
2008-7-24 21:11
zjl138
Rank: 4
等级:高级会员
威望:1
帖子:764
积分:9144
注册:2007-11-12

你测试一下:
引用:
/*****************************************************************
** HighlightCodeV3.0 software by yzfy(雨中飞燕) http://yzfy.org **
*****************************************************************/
#include<iostream>
#include<cmath>
void findroot(double a,double b,double c)
{
   
double disc = b*b - 4*a*c;
    if (a==0) std::cout<<"x="<<-(c/b)<<std::endl;
    else if (disc==0) std::cout<<"x1=x2="<<(-b)/(2*a)<<std::endl;
    else if (disc>0)
        std::cout<<"x1="<<((-b)+sqrt(disc))/(2*a)<<"\t"<<"x2="<<((-b)-sqrt(disc))/(2*a)<<std::endl;
    else if (disc<0)
        std::cout<<"x1="<<(-b)/(2*a)<<"+"<<sqrt(-b)/(2*a)<<"i"<<"\t"
        
<<"x2="<<(-b)/(2*a)<<"-"<<sqrt(-b)/(2*a)<<"i"<<std::endl;
}
int main(void)
{
   
double a,b,c;
    std::cin>>a>>b>>c;
    findroot(a,b,c);
    system("pause");
    return 0;
}

i like linux...
2008-7-24 22:13
lindayanglong
Rank: 2
等级:注册会员
帖子:83
积分:1036
注册:2008-3-9

谢谢楼上的
2008-7-30 15:32
共有 298 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051906 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved