ZZ1480:拐角方阵 - C语言实现

题目描述

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

输入

一行输入 N (1 < N <= 30)

输出

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

样例输入

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

思路:

观察样例发现,拐角处的数值是对应行列的最小值,而且每行的数值都是递增的,每列的数值也是递增的。因此我们可以逐行生成这个方阵,每行的数值从 1 开始递增,到该行最靠近拐角处的数字,然后再递增到该行最后一个数字。

**代码:**c#include <stdio.h>

int main() { int N, i, j;

scanf('%d', &N);

for (i = 0; i < N; i++) {        for (j = 0; j < N; j++) {            if (j < i) {                printf('%3d', j + 1);            } else {                printf('%3d', i + 1);            }        }        printf('

'); }

return 0;}

解释:

  • 代码首先定义了三个变量:N 用于存储输入的正整数,ij 用于控制循环。- 循环遍历矩阵的每一行和每一列,并根据 ij 的值判断输出的值。- 如果 j 小于 i,则输出 j + 1,否则输出 i + 1。- 这样就实现了按照样例规律生成拐角方阵的效果。

总结:

这篇文章详细介绍了如何使用 C 语言编写代码,生成一个 NxN 的拐角方阵。文章提供了清晰的思路讲解以及完整的代码示例,并附带样例输入和输出结果,方便读者理解和学习

ZZ1480:拐角方阵 - C语言实现

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

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