qq_43965285
紧擦菊菊长
2019-03-09 16:15
采纳率: 64.3%
浏览 2.5k

#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条回答 默认 最新

  • qq_43965285
    紧擦菊菊长 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);
    }
    
    点赞 评论
  • peng450
    peng450 2019-03-09 17:16

    #include
    void main()
    {
    int n;
    float fraction[10][5],aver(**float[][5]**,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);
    }

    点赞 评论

相关推荐