如何在 C++ 中打印正方形
How to print a square in c++
我想制作一个函数来打印正方形,如下所示。
用户输入正方形 (N) 的边。 N的总长度必须是奇数。
int main()
{
int n, i, j;
cin >> n;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
if (i == 1 || i == n || j == 1 || j == n || i == j || i + j - 1 == n)
cout << "#";
else
cout << " ";
}
cout << endl;
}
n = 7 的预期输出:
#######
## ##
# # ###
# ####
# # ###
## ##
#######
n = 9 的预期输出:
#########
## ##
# # ###
# # ####
# #####
# # ####
# # ###
## ##
#########
这是我的实际输出 (n = 9):
#########
## ##
# # # #
# # # #
# # #
# # # #
# # # #
## ##
#########
但是我无法在右侧添加#。
您已经写下了每个场景的条件(first/last 行,first/last 列,primary/secondary 对角线)。现在您需要为该直角三角形添加条件。
提示:这个三角形有一个简单的条件:
#
##
###
####
#####
######
#######
这个三角形有一个简单的条件:
#######
######
#####
####
###
##
#
而你想要的三角形就是这两个的交点。
添加|| i <= j && i + j - 1 >= n
#include <iostream>
using namespace std;
int main() {
// your code goes here
int n, i, j;
cin >> n;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
if (i == 1 || i == n || j == 1 || j == n || i == j || i + j - 1 == n || i <= j && i + j - 1 >= n)
cout << "#";
else
cout << " ";
}
cout << endl;
}
return 0;
}
我想制作一个函数来打印正方形,如下所示。 用户输入正方形 (N) 的边。 N的总长度必须是奇数。
int main()
{
int n, i, j;
cin >> n;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
if (i == 1 || i == n || j == 1 || j == n || i == j || i + j - 1 == n)
cout << "#";
else
cout << " ";
}
cout << endl;
}
n = 7 的预期输出:
#######
## ##
# # ###
# ####
# # ###
## ##
#######
n = 9 的预期输出:
#########
## ##
# # ###
# # ####
# #####
# # ####
# # ###
## ##
#########
这是我的实际输出 (n = 9):
#########
## ##
# # # #
# # # #
# # #
# # # #
# # # #
## ##
#########
但是我无法在右侧添加#。
您已经写下了每个场景的条件(first/last 行,first/last 列,primary/secondary 对角线)。现在您需要为该直角三角形添加条件。
提示:这个三角形有一个简单的条件:
#
##
###
####
#####
######
#######
这个三角形有一个简单的条件:
#######
######
#####
####
###
##
#
而你想要的三角形就是这两个的交点。
添加|| i <= j && i + j - 1 >= n
#include <iostream>
using namespace std;
int main() {
// your code goes here
int n, i, j;
cin >> n;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
if (i == 1 || i == n || j == 1 || j == n || i == j || i + j - 1 == n || i <= j && i + j - 1 >= n)
cout << "#";
else
cout << " ";
}
cout << endl;
}
return 0;
}