首页 > 解决方案 > 绘制 anxn 正方形但有特殊规则

问题描述

给定两个数字 N 和 K,输出三个大小为 N x N 的方格,每个方格都有自己的一套规则:第一个方格完全使用“#”符号组成。第二个正方形是使用“。”组成的。除每 k 行之外的符号使用“#”符号代替。第三个正方形是使用“。”组成的。除了每 k 列之外的符号使用“#”符号代替/在打印每个正方形后打印新行。

我已经知道如何绘制正方形/形状(空心或填充),但我仍在努力解决这个问题。需要 C 语言编码方面的帮助。谢谢!

标签: c

解决方案


这里有一个提示。您的基本“打印我一个大小为 N x N 的方形结构”通常是这样的:

for (int row = 0; row < N; row++) {
    for (int col = 0; col < N; col++) {
           char c = '#';
           printf("%c",c);
    }
    printf("\n");
}

现在你可以做些什么来修改代码以考虑到每个第 K 列或行应该打印一个不同的字符?

这是另一个提示。要确定是否row是第 K 行,您可能会使用此表达式进行测试:

if (((row+1) % K) == 0)

+1 考虑到循环计数从 0 而不是 1 开始。


推荐阅读