| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 523 人关注过本帖
标题:一道有关函数的问题
只看楼主 加入收藏
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
快速回复:一道有关函数的问题
数据加载中...
 
   



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

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