C语言打印回环蛇形矩阵(新手上路)

这篇博客适合C语言初学者,介绍如何打印回环蛇形矩阵。通过将数字依次存入数组,按照向右、向下、向左、向上的顺序进行,每次循环结束后更新执行条件,直到所有元素存入数组。
摘要由CSDN通过智能技术生成

        适合初学者的代码,我的想法非常简单,将数依次存入数组,那么我将向右、向下、向左、向上依次执行,而每执行一次则将各自的条件减一(如执行一次向右的循环,则条件是执行次数小于列数,那么在向上赋值循环时执行次数就少一次),而下一次的执行将继承上一次结束时的列数或行数进行存入数组,直到存入的元素等于已知的最后一个数。

#include <stdio.h>

int main() {
    int n,m,i=0,j,x=0,y,k=-1,z=-1;
    scanf_s("%d %d",&n,&m);//输入要打印矩阵的行列数.
    int o=n,p=m;//另存行列数,代替行列递减.
    int a[n][m];
    a[0][0]=1;//本题打印是从1依次加1的矩阵.
    int nm=n*m;//存储最后打印的一个数.
    while(1){            //注意每次改变方向时,下一个循环的开始位置的规律.
        for(j=i+1;j<m;j++){//这里j的定义是由上一个循环结束的位置加一作为这次的开始.
            a[x][j]=a[x][j-1]+1;
        }        //k存储着向上打印的限制(向右打印一次向上的条件就要加一)j--是恢复结束时位置
        k++,j--;//并继承给下一个循环.以下三个循环同理.
        if(a[x][j]==nm)break;//在每一个循环后判断,打印的是否为最后一个数,是则跳出整个大循环
        for(y=x+1;y<n;y++){
            a[y][j]=a[
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值