T611829 打印矩阵

打印特殊矩阵解题思路

解题思路

  1. 理解矩阵填充规律:

    • 奇数行(第1、3、5...行)从左到右顺序填充数字

    • 偶数行(第2、4、6...行)从右到左顺序填充数字

    • 数字从1开始连续递增

  2. 实现步骤:

    • 初始化计数器k=1

    • 遍历每一行:

      • 如果是奇数行,从左到右填充递增数字

      • 如果是偶数行,从右到左填充递增数字

    • 最后输出整个矩阵

代码注释

#include<bits/stdc++.h>
using namespace std;

int n; // 定义矩阵大小n
int a[101][101]; // 定义足够大的矩阵(题目未给出n的范围,101是常见的安全大小)

int main()
{
    // 读取矩阵大小n
    cin >> n;
    
    int k = 1; // 初始化填充数字从1开始
    
    // 填充矩阵
    for(int i = 1; i <= n; i++) // 遍历每一行
    {
        if(i % 2 == 1) // 如果是奇数行
        {
            // 从左到右顺序填充
            for(int j = 1; j <= n; j++)
            {
                a[i][j] = k; // 填充数字
                k++; // 数字递增
            }
        }
        if(i % 2 == 0) // 如果是偶数行
        {
            // 从右到左顺序填充
            for(int j = n; j >= 1; j--)
            {
                a[i][j] = k; // 填充数字
                k++; // 数字递增
            }
        }
    }
    
    // 输出矩阵
    for(int i = 1; i <= n; i++) // 遍历每一行
    {
        for(int j = 1; j <= n; j++) // 遍历每一列
        {
            cout << a[i][j] << " "; // 输出元素加空格
        }
        cout << endl; // 每行输出完后换行
    }
    
    return 0; // 程序正常结束
}

 

posted @ 2025-05-27 14:22  CRt0729  阅读(23)  评论(0)    收藏  举报