稻米哟 2022-02-24 15:38 采纳率: 0%
浏览 969
已结题

747 16 C:\Users\zql\Documents\未命名1.cpp [Error] invalid types 'double[int]' for array subscript是什么意思?

问题遇到的现象和发生背景

/输入5个学生,4门课成绩,二维数组stu[5][4]表示,行标表示学生,列标表示课程成绩,分别编写函数aver()、fals()和well()完成:
(1)求第一门课的平均分;(2)统计有2门以上课程不及格的同学人数;(3)平均成绩在90分以上或者全部课程成绩在85分以上的同学视为优秀,统计人数,
使用指针完成地址传递,主函数完成数组输入和输出。
输入说明
输入二维浮点型数组stu[5][4]
输出说明
输出第一门课程平均分(保留1位小数)、2门以上不及格人数和成绩优秀人数,数据之间空一格。
输入样例
85 73 59 92
93 95 89 88
86 88 88 87
59 51 52 68
78 32 59 91
输出样例
80.2 2 2
提示
注意行列信息。使用指针完成地址传递,主函数完成数组输入和输出。
/

问题相关代码,请勿粘贴截图
#include <stdio.h>
int well(double *stu);
double aver(double sum);
int  fals(double *stu);
int wel(double *stu);
int main(){
    double stu[5][4];
    double sum = 0;
    int i,j;
    for(i=0;i<5;i++){
        for(j=0;j<4;j++){
            scanf("%lf",&stu[i][j]);
        }
    }
    for(i=0;i<5;i++){
        sum+=stu[i][0];
    }
    printf("%.1lf",aver(sum));
    printf("\n%d",fal(*stu));
    printf("\n%d",well(*stu));
    return 0;
} 
double aver(double sum){
    return (sum/5);
}
int fals(double *stu){
    int i,j;
    int flag = 0,count = 0;
    for(i=0;i<5;i++){
        flag = 0;
        for(j=0;j<4;j++){
            if(*stu[i][j]<60){
                flag++;
            }
        }
        if(flag>=2){
            count++;
        }
    }
    return count;
}
int well(double *stu){
    int i = 0,j = 0;
    int count = 0,flag = 0;
    double sum = 0;
    for(i=0;i<5;i++){
        for(j=0;j<4;j++){
            sum+=stu[i][j];
        if(stu[i][j]>85){
            flag++;
        }
        }
        if(sum/4>=90||flag/4==1){
            count++;
        }
        return count;
    }
}

运行结果及报错内容

C:\Users\zql\Documents\未命名1.cpp [Error] invalid types 'double[int]' for array subscript

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-02-24 15:52
    关注

    if( * stu[i][j]<60){
    这里不用加 * 号啊
    函数定义用问题,参数类型不行啊
    printf("\n%d",fal(*stu));,函数叫fals,stu是个二维数组,用 * stu完全不知道啥意思了
    fals和well函数参数都改为double stu[5][4]

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月12日
  • 创建了问题 2月24日