如何设计二维方阵函数

不知道怎么填充数组

img


img

运行结果及diam如下,如有帮助,请帮忙采纳一下,谢谢。

img

img

img

代码

#include<stdio.h>
#include <stdlib.h>
//均值为0的方阵
void fun1()
{
    int i,j;
    int d = 0;
    for (i=0;i<7;i++)
    {
        for (j=0;j<7;j++)
        {
            printf("%5d",d);
        }
        printf("\n");
    }
}
//
void fun2()
{
    int i,j;
    int t = 1,d = 0;
    for (i=0;i<7;i++)
    {
        for (j=0;j<7;j++)
        {
            if(j<=i)
                printf("%5d",t++);
            else
                printf("%5d",d);
        }
        printf("\n");
    }
}

void fun3()
{
    int i,j;
    int t=1,d=0;
    for (i=0;i<7;i++)
    {
        for (j=0;j<7;j++)
        {
            if(j >= 6-i)
                printf("%5d",t++);
            else
                printf("%5d",d);
        }
        printf("\n");
    }
}

int main()
{
    int n;
    while(1)
    {
        system("cls");
        printf("    7*7二维方阵的形成\n");
        printf("--------------------------------\n");
        printf("1.显示值均为0的方阵\n");
        printf("2.用正整数填充左下三角,右上三角为0\n");
        printf("3.用正整数填充右下三角,左上三角为0\n");
        printf("4.退出运行\n");
        printf("--------------------------------\n");
        printf("请选择菜单项:");
        scanf("%d",&n);
        switch(n)
        {
        case 1:
            fun1();
            system("pause");
            break;
        case 2:
            fun2();
            system("pause");
            break;
        case 3:
            fun3();
            system("pause");
            break;
        case 4:
            return 0;
        }
    }
    return 0;
}