紧擦菊菊长 2019-03-09 16:15 采纳率: 100%
浏览 3720
已采纳

#C,萌新求助,实参类型与形参不兼容怎么整啊

#include<stdio.h>
void main()
{
    int n;
    float fraction[10][5],aver(float,int);
    printf("输入10个学生的5门成绩:\n");
    float gets(fraction[10][5]);
    for(n=0;0<10;n++)
    printf("第%d个学生的平均分为%6.2f",n+1,aver(fraction,n));
}
float aver(float fraction[10][5],int n)
{
    float sum=fraction[n][0];
    for(int i=0;i<5;i++)
    sum+=fraction[n][i];
    float aver=sum/5;
    return(aver);
}

调试后出现两条错误:1:"float (*)[5]" 类型的实参与 "float" 类型的形参不兼容
2:“aver”: 不能将参数 1 从“float [10][5]”转换为“float”

                                                                                            萌新不太懂,求教怎么改啊
  • 写回答

2条回答 默认 最新

  • 紧擦菊菊长 2019-03-10 13:38
    关注

    最后修改完善应该是这样的

    #include<stdio.h>
    void main()
    {
        int n;
        float fraction[10][5], aver(float[][5],int);
        printf("输入10个学生的5门成绩:\n");
        for(n=0;0<10;n++)
        {
            for(int k=0;k<5;k++)
        scanf("%f",&fraction[n][k]);
        printf("第%d个学生的平均分为%6.2f\n",n+1,aver(fraction,n));
        }
    }
    float aver(float fraction[10][5],int n)
    {
        float sum=0;
        for(int i=0;i<5;i++)
        sum+=fraction[n][i];
        float aver=sum/5;
        return(aver);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?