【C++】 求方程ax^2+bx+c=0的根,用3个函数分别求 5

求方程ax^2+bx+c=0的根,用3个函数分别求当b^2-4ac大于0等于0小于0时的根,并输出结果。从主函数输入a,b,c.#include<iostream>#in... 求方程ax^2+bx+c=0的根,用3个函数分别求当b^2-4ac大于0等于0小于0时的根,并输出结果。从主函数输入a,b,c.
#include <iostream>
#include <cmath>
using namespace std;
double f1(double);
double f2(double);
double f3(double);
int main()
{
double a,b,c,x1,x2;
cin>>a>>b>>c;
f1(a,b,c);
f2(a,b,c);
f3(a,b,c);
return 0;
}
double f1(double a,double b,double c)
{
if (b*b-4*a*c>0)
cout<<"x1="<<(-b+sqrt(b*b-4*a*c))/(2*a)<<" "<<"x2="<<(-b-sqrt(b*b-4*a*c))/(2*a)<<endl;
return 0;
}
double f2(double a,double b,double c)
{
if (b*b-4*a*c==0)
cout<<"x1=x2="<<-b/(2*a)<<endl;
return z;
}
double f3(double a,double b,double c)
{
if (b*b-4*a*c<0)
cout<<"无实数解"<<endl;
return 0;
}
编译提示
error C2660: 'f1' : function does not take 3 parameters
什么意思?怎么改?
展开
 我来答
物理公司的
推荐于2017-06-10 · TA获得超过5697个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1390万
展开全部
#include <iostream>
#include <cmath>
using namespace std;
double f1(double,double,double);//声明和定义不相符
double f2(double,double,double);
double f3(double,double,double);
int main()
{
    double a,b,c,x1,x2;
    cin>>a>>b>>c;
    f1(a,b,c);
    f2(a,b,c);
    f3(a,b,c);
    return 0;
}
double f1(double a,double b,double c)
{
    if (b*b-4*a*c>0)
        cout<<"x1="<<(-b+sqrt(b*b-4*a*c))/(2*a)<<" "<<"x2="<<(-b-sqrt(b*b-4*a*c))/(2*a)<<endl;
    return 0;
}
double f2(double a,double b,double c)
{
    if (b*b-4*a*c==0) 
        cout<<"x1=x2="<<-b/(2*a)<<endl;
    double z = -b/(2*a);//z是没有定义的
    return z;
}
double f3(double a,double b,double c)
{
    if (b*b-4*a*c<0)
        cout<<"无实数解"<<endl;
return 0;
}
百度网友8aedf19
2015-05-08 · TA获得超过606个赞
知道小有建树答主
回答量:231
采纳率:100%
帮助的人:113万
展开全部
意思:f1 这个函数不能接受三个参数,因为C/C++都是前向声明的,就是main中遇到f1的时候会向回查找,而你在main前面声明的f1是只有一个参数的;

改:把main前面声明的函数改成main后面定义的一样:
double f1(double a,double b,double c);
double f2(double a,double b,double c);
double f3(double a,double b,double c);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
360安全卫士334
2017-06-10
知道答主
回答量:8
采纳率:0%
帮助的人:7308
展开全部
#include<iostream>
#include<math.h>
using namespace std;
double func1(double a,double b,double c) //如果b*b-4ac > 0
{
double Result1 = (-b + sqrt((b*b)-4*a*c) )/(2*a);
double Result2 = (-b - sqrt((b*b)-4*a*c) )/(2*a);
cout << Result1 << endl << Result2 << endl;
return 0;
}
double func2(double a,double b,double c) //如果b*b-4ac == 0
{
double Result = (-b)/(2*a);
cout << Result << endl;
return 0;
}
double func3(double a,double b,double c) //如果b*b-4ac < 0
{
cout << "方程无解" << endl;
return 0;
}
int main()
{
double a,b,c;
cin >> a >> b >> c;
if((b*b)-4*a*c > 0)
{
func1(a,b,c);
}
else if((b*b)-4*a*c == 0)
{
func2(a,b,c);
}
else if((b*b)-4*a*c < 0)
{
func3(a,b,c);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rhdlilj
2015-05-08 · TA获得超过160个赞
知道小有建树答主
回答量:194
采纳率:55%
帮助的人:97.7万
展开全部
double f1(double);
double f2(double);
double f3(double);
改为:
double f1(double,double,double);
double f2(double,double,double);
double f3(double,double,double);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a6ba253
2022-09-12
知道答主
回答量:13
采纳率:0%
帮助的人:5444
展开全部
#include <iostream>#include <cmath>using namespace std;double f1(double,double,double);//声明和定义不相符double f2(double,double,double);double f3(double,double,double);int main(){ double a,b,c,x1,x2; cin>>a>>b>>c; f1(a,b,c); f2(a,b,c); f3(a,b,c); return 0;}double f1(double a,double b,double c){ if (b*b-4*a*c>0) cout<<"x1="<<(-b+sqrt(b*b-4*a*c))/(2*a)<<" "<<"x2="<<(-b-sqrt(b*b-4*a*c))/(2*a)<<endl; return 0;}double f2(double a,double b,double c){ if (b*b-4*a*c==0) cout<<"x1=x2="<<-b/(2*a)<<endl; double z = -b/(2*a);//z是没有定义的 return z;}double f3(double a,double b,double c){ if (b*b-4*a*c<0) cout<<"无实数解"<<endl;return 0;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式