标题:一道有关函数的问题
只看楼主
tttt182
Rank: 1
等 级:新手上路
帖 子:12
专家分:6
注 册:2013-7-2
结帖率:33.33%
 问题点数:0 回复次数:2 
一道有关函数的问题
从键盘输入10个浮点数,求其和及其平均值。要求写出其和及平均值的函数。
#include"iostream"
using namespace std;
double sum(double);
void ave(double,int);
int main(void)
{
    double s,a[10];
    int i;
    for(i=0;i<=9;i++)
    {
        cin>>a[i];
        s=sum(a[i]);
    }
    ave(s,10);
}
double sum(double a[10])
{
    int i;
    double s=0.0;
    for(i=0;i<=9;i++)
        s+=a[i];
    cout<<s<<endl;
    return s;
}
void ave(double a,int b)
{
    cout<<a/b<<endl;
}
求大神修改一下,数组用的不对好像
搜索更多相关主题的帖子: include double return 平均值 键盘 
2013-09-07 13:27
chs09412
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2013-7-25
得分:0 
s=sum(a[i]);放在循环里是不对的啊,这样子只代表一个数,而你的double sum函数是一个数组。

 for(i=0;i<=9;i++)
    {
        cin>>a[i];
        
    }
    s=sum(a);


double sum(double a[])
{

    int i;
    double s=0.0;
    for(i=0;i<=9;i++)
        s+=a[i];
   // cout<<s<<endl;
    return s;
}

其中的cout<<s<<endl是没什么用的,对程序也不好。
这是我的理解,有错的请指出
2013-09-07 23:33
tttt182
Rank: 1
等 级:新手上路
帖 子:12
专家分:6
注 册:2013-7-2
得分:0 
回复 2楼 chs09412
如果是这样的话,s=sum(a)会产生编译错误,因为a是一个指针,程序如下
#include"iostream"
using namespace std;
double sum(double*);
void ave(double,int);
int main(void)
{
    double s,a[10];
    int i;
    for(i=0;i<=9;i++)
    {
        cin>>a[i];
    }
    s=sum(a);
    cout<<s<<endl;
    ave(s,10);
}
double sum(double *a)
{
    int i;
    double s=0.0;
    for(i=0;i<=9;i++)
        s+=a[i];
    return s;
}
void ave(double a,int b)
{
    cout<<a/b<<endl;
}
谢谢楼上,真心感谢
2013-09-08 09:07



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




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

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