鱼C论坛

 找回密码
 立即注册
查看: 1615|回复: 3

[已解决]写一个average函数求平均数,想问错在哪

[复制链接]
发表于 2017-3-28 00:38:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void ave(int a[10]);
void main()
{
        int a[10]={15,16,16,16,18,19,1,5,18,16};
        int f;
        f=ave(a[10]);
        printf("%d",f);
}
void ave(int a[10])
{
        int temp;
        int i;
        temp=0;
        for(i=0;i<10;i++)
        {
                temp=temp+a[i];
        }
        return temp;
}

如题,刚学,不太了解错误在哪?请求帮助
最佳答案
2017-3-28 11:56:36
#include<stdio.h>
int ave(int a[10]);
void main()
{
        int a[10]={15,16,16,16,18,19,1,5,18,16};
        int f;
        f=ave(a);//传数组变量首地址
        printf("%d",f);
}
int ave(int a[10])//要返回整数变量不能用void
{
        int temp;
        int i;
        temp=0;
        for(i=0;i<10;i++)
        {
                temp=temp+a[i];//数组里面10个元素求和
        }
        return temp/10;//求和后要除以10才是平均数
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-28 08:54:49 | 显示全部楼层
本帖最后由 lumber2388779 于 2017-3-28 08:55 编辑

你定义完a[10]之后,使用a[10]是指a数组中第11个元素,因为C语言是从0开始索引的,所以你后边使用数组的时候a[10]是溢出的
定义函数参数为数组的时候可以不用指定长度,如void ave(int a[]),调用的时候是将整个数组传进去的,如ave(a)
这块你可能学完指针后再回来理解好一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-28 09:09:54 | 显示全部楼层
首先,定义的函数有问题啊
既然都要返回int了,怎么还定义void呢,void表示没有返回值
还有第七行的代码,传数组进函数,直接上数组的名字就可以了,像这样f=ave(a);
还有一个最重要的问题,你这个代码是求和的啊,不是求平均数啊

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-28 11:56:36 | 显示全部楼层    本楼为最佳答案   
#include<stdio.h>
int ave(int a[10]);
void main()
{
        int a[10]={15,16,16,16,18,19,1,5,18,16};
        int f;
        f=ave(a);//传数组变量首地址
        printf("%d",f);
}
int ave(int a[10])//要返回整数变量不能用void
{
        int temp;
        int i;
        temp=0;
        for(i=0;i<10;i++)
        {
                temp=temp+a[i];//数组里面10个元素求和
        }
        return temp/10;//求和后要除以10才是平均数
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 15:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表