def*_*foe 3 c puzzle logic for-loop if-statement
我如何在C中绘制2个for循环和1个if语句?
AAAAA
AAAAB
AAABB
AAAAB
AAAAA
Run Code Online (Sandbox Code Playgroud)
我知道我必须比较行和列,但我不知道如何得到确切的结果.
它必须适用于大于0且小于24的每个数字.
到目前为止我所做的是以下内容:
for (row = 1; row <= n; row++)
{
for (column = 1; column <= n; column++)
{
if ( row >= column )
{
printf("A");
}
else
{
printf("B");
}
}
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
这给了我这个n = 5:
ABBBB
AABBB
AAABB
AAAAB
AAAAA
Run Code Online (Sandbox Code Playgroud)
干得好:
for (row = 1; row <= 5; row++)
{
for (column = 1; column <= 5; column++)
{
if ( (row < column) && (column > 5 - row + 1) )
{
printf("B");
}
else
{
printf("A");
}
}
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
解释:
条件(row < column)'绘制':
ABBBB
AABBB
AAABB
AAAAB
AAAAA
Run Code Online (Sandbox Code Playgroud)
条件(column > 5 - row + 1)'绘制':
AAAAA
AAAAB
AAABB
AABBB
ABBBB
Run Code Online (Sandbox Code Playgroud)
这些条件的组合是你的结果.