提示输入的数字个数与预想m*n不同

img

img


#include<stdio.h>
int main(){
    int n;
    int m;
    scanf("%d",&n);
    scanf("%d",&m);
    int a[n][m]
    ;
    int b[n]
    
1. ;//输入
    for(int i=0;i<n;i++){
        for(int t=0;i<m;t++){
            scanf("%d",&a[i][t]);
        }
    }//排序找最大最小
    for(int i=0;i<n;i++){
        for(int t=0;t<m;t++){
            for(int p=0;p< m-t-1;p++){
                if(a[i][p]> a[i][p+1]){
                    int k=a[i][p+1];
                    a[i][p+1]=a[i][p];
                    a[i][p]=k;
                }
            }
        }
    }//加上去掉首尾的成绩
    for(int i=0;i<n;i++){
        for(int t=1;t<m-1;t++){
            b[i]+=a[i][t];
        }
    }//找到最大的成绩
    float k=0;
    for(int i=0;i<n;i++){
        if(b[i]>k)k=b[i];
    }
    printf("%.2f",k/(m-2));
    return 0;
}

img

for(int t=0;i<m;t++){
写错了啊,中间是t<m,不是i<m

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632