| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1845 人关注过本帖
标题:重载函数求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
等 级:版主
威 望:528
帖 子:9034
专家分:54086
注 册: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
等 级:版主
威 望:528
帖 子:9034
专家分:54086
注 册: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: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
收藏
得分:0 
以下是引用Pu2018303078在2018-11-8 15:20:19的发言:

Thank you very much!



楼主分享一下做题网站可以吗? 谢谢
2018-11-08 21:10
快速回复:重载函数求a0+a1*x+a2*x*x+a3*x*x*x 求助
数据加载中...
 
   



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

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