2201_75843485 2023-03-24 18:04 采纳率: 50%
浏览 22

C语言 函数数组 基础题

问题:有一个一维数组score,内放10个学生成绩,求平均成绩

我的做法:


#include<stdio.h>

double average(int );

int main()
{
    int score[10],j;
    double d;
    for(j=0;j<10;j++)
        scanf("%d",&score[j]);
    d=average(score[10]);
    printf("%lf\n",d);
    return 0;
}

double average(int a[10] )
{
    int i;
    double c;
    int b=0;
    for(i=0;i<10;i++)
        b=b+a[i];
    c=b/10;
    return c;
}

这个代码运行不了,有人说要用指针,但是指针我目前还没学到,能否不用指针
课本上有不用指针的答案:

img

帮忙找找我代码的错误,谢谢

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2023-03-24 18:46
    关注

    d=average(score[10]);
    改为
    d=average(score);
    参数为数组,应该传递数组名。score[10]是数组元素,不是数组。而且下标越界
    另外24行要改为c=b/10.0;否则两个整数相除是整除,没有小数

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 3月24日
  • 创建了问题 3月24日

悬赏问题

  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥20 spring boot集成mqtt的使用问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错