ZZ1480:拐角方阵 - C语言实现
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用于存储输入的正整数,i和j用于控制循环。- 循环遍历矩阵的每一行和每一列,并根据i和j的值判断输出的值。- 如果j小于i,则输出j + 1,否则输出i + 1。- 这样就实现了按照样例规律生成拐角方阵的效果。
总结:
这篇文章详细介绍了如何使用 C 语言编写代码,生成一个 NxN 的拐角方阵。文章提供了清晰的思路讲解以及完整的代码示例,并附带样例输入和输出结果,方便读者理解和学习
原文地址: https://www.cveoy.top/t/topic/nGOO 著作权归作者所有。请勿转载和采集!