数组储存问题,自己做的一直全输出最后一行

img


#include<stdio.h>

int main()
{
    int arr[5][5] ={};

    for(int i=0; i<5; i++){
        for(int j=0; j<5; j++){
            arr[i][j] = 3*i + 2*j -8;
        }
    }

    int sum4 = 0;
    for(int i=0; i<5; i++){
        sum4 += arr[3][i] ;
    }
    printf("第4行5个元素之和为 %d\n", sum4);

    int sum5 = 0;
    for(int i=0; i<5; i++){
        sum5 += arr[i][4] ;
    }
    float avg5 = sum5 / 5.0;
    printf("第5列5个元素之平均值为 %f\n", avg5);

    int fushu = 0;
    for(int i=0; i<5; i++){
        int value = 0;
        value = arr[i][i] ;
        printf("%d  ", value);
        if(value < 0){
            fushu ++;
        }
    }
    printf("左对角线负数个数为 %d\n", fushu);

    int fushu2 = 0;
    for(int i=0; i<5; i++){
        int value = 0;
        value = arr[i][4-i] ;
        if(value < 0){
            fushu2 ++;
        }
    }
    printf("反对角线负数个数为 %d\n", fushu2);
}

#include "stdio.h"
int main()
{
    int b[5][5],i,j,sum=0,geshu=0;
    float ave;
    for (i = 0; i <= 4; i++)
    {
        for (j = 0; j <= 4; j++)
        {
            b[i][j] = 3 * i + 2 * j - 8;
        }
    }
    for (j = 0; j <= 4; j++)
    {
        sum = sum + b[3][j];
    }
    printf("%d\n", sum);
    for (i = 0; i <= 4; i++)
    {
        sum = sum + b[i][4];
        ave = sum / 5.0;
    }
    printf("%f\n", ave);
    for (i = 0; i <= 4; i++)
    {
        for (j = 0; j <= 4; j++)
        {
            if (i == j || i + j == 4)
            {
                if (b[i][j] < 0)
                {
                    geshu++;
                }
            }
        }
    }
    printf("%d\n", geshu);
}