下面是娱乐时间统计的部分程序,为什么这个数组比较完大小无法按顺序输出啊

img

img


这个是娱乐时间统计的部分程序,为什么这个数组比较完大小无法按顺序正常输出啊

应该是因为排序娱乐时间那里的算法出错了,修改一下即可。修改如下:

#include <stdio.h>

int main(void){
    
    int a[5][7];
    int b[5];

    
    int i,j,t; 
    for(i=0;i<5;i++){
        printf("请输入第%d周每天的娱乐时间(用空格分隔):",i+1);
        
        for(j=0;j<=6;j++){
            scanf("%d",&a[i][j]);
        }
    } 
    
    printf("周");
    for(i=1;i<8;i++){
        printf("\t第%d天",i);
    }
    
    printf("\t总时间");
    printf("\n");
    
    for(i=0;i<=4;i++){
        printf("%d",i+1);
        
        int sum1=0;
        for(j=0;j<=6;j++){
            printf("\t%d",a[i][j]);
            sum1=sum1+a[i][j];
        }
        if(j==7){
            printf("\t%d",sum1);
            b[i]=sum1;
        }
        printf("\n");
    }
    
    printf("排序后的娱乐时间为:");
    for(i=0;i<4;i++){
        
        for(j=i+1;j<=4;j++){
            
            if(b[i]>b[j]){
                t = b[i];
                b[i] = b[j];
                b[j] = t;
            }
        }        
    }
    
    for(i=0;i<=4;i++){
        printf("%d\t",b[i]);
        
    }
    
} 

img