C语言这个程序该怎么写

、程序定义了N×N的二维数组,并在主函数中自动赋值。编写函数fun(int a[][N]),函数的功能是:使数组左下半三角元素中的值全部置成0。

例如:a数组中的值为

|1 9 7|

a= |2 3 8|,则返回主程序后a数组中的值应为

|4 5 6|

      |0  9  7|

        |0  0  8|

        |0  0  0|

编写主函数,可以正确调用fun函数。

参考学习:

#include <stdio.h>
#define N 3

void fun(int a[][N]){
    for(int i=1;i<N;++i){
        for(int j=0;j<i;++j){
            a[i][j]=0;
        }
    }
}

int main(){
    int a[N][N]={{1,9,7},
                {2,3,8},
                {4,5,6}};
    printf("Before call function fun(a):\n");
    for(int i=0;i<N;++i){
        for(int j=0;j<N;++j){
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    fun(a);
    printf("After call function fun(a):\n");
    for(int i=0;i<N;++i){
        for(int j=0;j<N;++j){
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}


双循环就好了啊,下半三角的特点,是横坐标小于等于纵坐标

void fun(int a[][N])
{
    for(int i=0;i<N;i++)
        for(int j=0;j<=i;j++)
            a[i][j] = 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^