| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
免费IT实战开发视频教程合集分享千里之行 始于足下
共有 148 人关注过本帖
标题:重载函数求a0+a1*x+a2*x*x+a3*x*x*x 求助
只看楼主 加入收藏
Pu2018303078
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-8
结帖率:100%
  已结贴   问题点数:1  回复次数:6   
重载函数求a0+a1*x+a2*x*x+a3*x*x*x 求助
附件: 您没有浏览附件的权限,请 登录注册
2018-11-08 11:05
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:267
帖 子:5924
专家分:33728
注 册:2011-1-18
  得分:0 
你的代码呢?
2018-11-08 11:12
Pu2018303078
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-8
  得分:0 
回复 2楼 rjsp
我不会写这个代码,所以求助大佬给个代码
2018-11-08 12:05
Pu2018303078
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-8
  得分:0 
回复 2楼 rjsp
#include <iostream>
using namespace std;
double f (double x,double a0,double a1=0,double a2=0,double a3=0)
{
    return a0+a1*x+a2*x*x+a3*x*x*x;
}
int main()
{
    int n;double x,a0,a1,a2,a3,A[4];
    cin>>x>>n;
    for(int i=1;i<=n+1;i++)
        cin>>A[i];
    cout<<f(x,a0,a1,a2,a3);
    return 0;
}
输出一直是0,怎么破?请教
2018-11-08 13:06
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:267
帖 子:5924
专家分:33728
注 册:2011-1-18
  得分:1 
for(int i=1;i<=n+1;i++)
下标请从0开始计数。

根据你的代码修改
程序代码:
#include <iostream>
using namespace std;

double f( double x, double a0, double a1=0, double a2=0, double a3=0 )
{
    return a0+a1*x+a2*x*x+a3*x*x*x;
}

int main( void )
{
    double x;
    size_t n;
    cin >> x >> n;

    double a[4] = {};
    for( size_t i=0; i!=n+1; ++i )
        cin >> a[i];

    cout << f(x,a[0],a[1],a[2],a[3]) << endl;
}


根据题目要求修改,以体现出重载的作用
程序代码:
#include <iostream>
using namespace std;

double fun( double x, double a0, double a1=0, double a2=0, double a3=0 )
{
    return a0+a1*x+a2*x*x+a3*x*x*x;
}

int main( void )
{
    double x;
    size_t n;
    cin >> x >> n;

    double a0, a1, a2, a3;
    if( n == 0 )
    {
        cin >> a0;
        cout << fun(x,a0) << endl;
    }
    else if( n == 1 )
    {
        cin >> a0 >> a1;
        cout << fun(x,a0,a1) << endl;
    }
    else if( n == 2 )
    {
        cin >> a0 >> a1 >> a2;
        cout << fun(x,a0,a1,a2) << endl;
    }
    else if( n == 3 )
    {
        cin >> a0 >> a1 >> a2 >> a3;
        cout << fun(x,a0,a1,a2,a3) << endl;
    }
}

2018-11-08 13:22
Pu2018303078
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-8
  得分:0 
回复 5楼 rjsp
Thank you very much!
2018-11-08 15:20
rohalloway
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:36
专家分:120
注 册:2018-9-28
  得分:0 
以下是引用Pu2018303078在2018-11-8 15:20:19的发言:

Thank you very much!



楼主分享一下做题网站可以吗? 谢谢
2018-11-08 21:10







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

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