关于“#C++ #”的填空问题

这三个程序不会,试了好多遍了,都不对,有没有会的能解答一下,只写缺失的

img

img

img

img

img

img

第一个程序,你把矩阵赋值调整下,更直观,方便写程序:

#include <stdio.h>
#define M 5
int diagonalSum(int data[M][M]);
int main()
{
    int data[M][M]={{1,3,5,7,9},
                    {2,4,6,8,10},
                    {2,3,4,5,6},
                    {4,5,6,7,8},
                    {1,3,4,5,6}};
    printf("矩阵对角线元素之和为:%d\n", diagonalSum(data));
}
int diagonalSum(int data[M][M])
{
    int k,sum=0;
    for(k=0;k<M;k++)
        sum+=data[k][k];
    for(k=0;k<M;k++) // 此行可以注释掉,两个循环体合并,如合并注意加{}
        if (k!=2)
            sum+=data[k][M-k-1];
    return sum;
}