c语言编写函数求矩阵所有靠外侧的各元素之和

以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)
例如,矩阵为:
3 0 0 3
2 5 7 3
1 0 4 2
则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。
大神能不能帮忙写一下完整代码,不是网上的那种填空题,要可运行的。

循环相加第一行和最后一行元素与中间行首尾元素

你题目的解答代码如下:

#include<stdio.h>
int main()
{
    int i,j,m=3,n=4,sum=0;
    int a[] = {
        3, 0, 0, 3,
        2, 5, 7, 3,
        1, 0, 4, 2};
    for (i = 0; i < n; i++)
        sum += a[i] + a[(m-1)*n+i];
    for (j = 1; j < m-1; j++)
        sum += a[j*n+0] + a[j*n+n-1];
    printf("%d\n", sum);
    return 0;
}

如有帮助,望采纳!谢谢!