输入描述:
多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
本题我们用“*”来打印X图形
我们通过用printf和scanf来进行绘画
我们可以将此图形分开来进行绘画
\部分当行和列相等时进行打印*
/部分当行和列相加等于scanf输入的值减去1打印*
其他情况一律打印空格
我我们可以创建一个与条件来进行判定
比如:
if (i == j || i + j == b - 1)
printf("*");
else
printf(" ");
通过此条件再在此条件外创建一个for加for的循环嵌套
一个for表示行,一个for表示列
for (int i;i < b;i++)
{
for (int j;j < b;j++)
{
if (i == j || i + j == b - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
最终代码结果为
#include <stdio.h>
int main() {
int b;
while (scanf("%d", &b) != EOF)
{
for (int i;i < b;i++)
{
for (int j;j < b;j++)
{
if (i == j || i + j == b - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}}
return 0;
}