C++ 实现拐角方阵生成算法 - ZZ1480

题目描述

输入一个正整数 N,生成一个 NxN 的拐角方阵(具体规律见样例)。

输入

一行输入一个整数 N (1 < N <= 30)

输出

共 N 行,每行 N 个正整数,每个正整数占 3 列(请使用 printf '%3d' ... a[i][j]:输出每个元素)。

样例输入

7

样例输出

  1  1  1  1  1  1  1
  1  2  2  2  2  2  2
  1  2  3  3  3  3  3
  1  2  3  4  4  4  4
  1  2  3  4  5  5  5
  1  2  3  4  5  6  6
  1  2  3  4  5  6  7

C++ 代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[100][100];//首先定义一个二维数组
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(i>=j)
            {
                a[i][j]=j;//如果i>=j,那么第i行第j列就是j
            }
            else
            {
                a[i][j]=i;//否则就是i
            }
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            printf('%3d',a[i][j]);//用printf输出每一个a[i][j],并使其占3列
        }
        printf('\n');//换行
    }
    return 0;//完美结束!
}

代码解释

  1. 二维数组定义: 使用 int a[100][100] 定义一个二维数组来存储拐角方阵的元素。
  2. 循环生成方阵: 使用两层循环遍历数组,根据 ij 的关系确定当前元素的值。
  3. 输出格式: 使用 printf('%3d', a[i][j]) 输出每个元素,并使用 printf('\n') 换行。

总结

这段 C++ 代码实现了生成 NxN 拐角方阵的算法,并展示了基本的数组操作和输出格式控制。通过学习这段代码,您可以更好地理解二维数组的应用和 C++ 中的循环和输出语句的使用。

C++ 实现拐角方阵生成算法 - ZZ1480

原文地址: https://www.cveoy.top/t/topic/nGOR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录