题解 | #蛇形矩阵#

蛇形矩阵

https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

解题思路:

建议一步一步的来

1.先用两个循环打出三角形

for(i=0;i<N;i++)

{

for(j=0;j<M;j++)

{

printf("1");

if(j<M-1)//判断是不是每一行的最后一个,如果不是就打印空格

{

printf(" ");

}

}

printf("\n");

M--;

}

2.然后设置一个二维数组分别存一会儿要加的数据

找规律,x方向(横着的方向)1 3 6 10 15 .... 前一位得到后一位是分别加2 3 4 5....

第二行2 5 9 14....前一位得到后一位是分别加3 4 5....剩下的以此类推

y方向(竖着的方向)1 2 4 7....前一位得到后一位分别是加1 2 3 4....

所以二维数组一个存x方向需要加的数字,一个存y方向需要加的数字

用一个for循环就可以生成

for(i=0;i<N-1;i++)//N为接受到的要打印几行

{

lib[i][0]=i+2;//x方向加的数字f

lib[i][1]=i+1;//y方向加的数字

// printf("%d,%d\n",lib[i][0],lib[i][1]);

}

3.最后找规律再把1.2步骤结合

规律每一行第一位相差前一行最后一位减去这一行加数字之和再加y方向的规律

1 3 6 10 15

2 5 9 14

4 8 13

2=15-(2+3+4+5)+1

4=14-(3+4+5)+2

#include <stdio.h>

int main() {
    int N=0,i=0,M=1,sum=0,temp=1,j=0;
    int num=2;
    int lib[100][2]={'\0'};
    scanf("%d",&N);
    // printf("%d",M);
    M=N;
  
    for(i=0;i<N-1;i++)
    {
        lib[i][0]=i+2;//x方向加的数字
        lib[i][1]=i+1;//y方向加的数字
        // printf("%d,%d\n",lib[i][0],lib[i][1]);
    }
  
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            printf("%d",temp);
            if(j<M-1)
            {
                printf(" ");
                temp=temp+lib[j+i][0];
                sum+=lib[j+i][0];
                num++;
            }    
        }
        printf("\n");
        temp=temp-sum;
        sum=0;
        temp=temp+lib[i][1];
        M--;
    }

    return 0;

}

全部评论

相关推荐

感性的干饭人在线蹲牛友:🐮 应该是在嘉定这边叭,禾赛大楼挺好看的
点赞 评论 收藏
分享
一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
正在热议
# 25届秋招总结 #
442065次浏览 4508人参与
# 春招别灰心,我们一人来一句鼓励 #
41913次浏览 531人参与
# 阿里云管培生offer #
120196次浏览 2219人参与
# 地方国企笔面经互助 #
7957次浏览 18人参与
# 同bg的你秋招战况如何? #
76477次浏览 561人参与
# 虾皮求职进展汇总 #
115376次浏览 886人参与
# 北方华创开奖 #
107421次浏览 599人参与
# 实习,投递多份简历没人回复怎么办 #
2454553次浏览 34856人参与
# 实习必须要去大厂吗? #
55760次浏览 961人参与
# 提前批简历挂麻了怎么办 #
149886次浏览 1977人参与
# 投递实习岗位前的准备 #
1195913次浏览 18548人参与
# 你投递的公司有几家约面了? #
33203次浏览 188人参与
# 双非本科求职如何逆袭 #
662154次浏览 7394人参与
# 如果公司给你放一天假,你会怎么度过? #
4750次浏览 55人参与
# 机械人春招想让哪家公司来捞你? #
157622次浏览 2267人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11525次浏览 284人参与
# 发工资后,你做的第一件事是什么 #
12659次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35779次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20120次浏览 240人参与
# 我的上岸简历长这样 #
451995次浏览 8088人参与
# 实习想申请秋招offer,能不能argue薪资 #
39286次浏览 314人参与
# 非技术岗是怎么找实习的 #
155864次浏览 2120人参与
牛客网
牛客企业服务