目录
题目要求
输入描述:
多组输入,一个整数,表示输出的行数,也表示组成 "X"图案 的反斜线和正斜线的长度
输出描述:
针对每组输入,输出用 "*" 组成的 X图案
举例:
输入:5
输出:* *
* *
*
* *
* *
输入:6
输出:* *
* *
* *
* *
* *
* *
代码实现
#include<stdio.h>
int main()
{
int n = 0;
// 多组输入
while (scanf("%d", &n) == 1)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if ((i == j) || (i + j == n - 1))
printf("*");
else
printf(" ");
}
printf("\n");
}
}
return 0;
}
代码解析:
将 X图案 看作 二维数组,以 二维数组的形式 打印每一行的 "*"号 和 空格
如图所示:
以上分别是 X图案长度 为 奇数 和为 偶数 的情况
不论是奇数还是偶数:
从 左上到右下 的斜线:i,j 是 同时递增 的
从 右上到左下 的斜线:i,j 的和 等于 长度n - 1
代码验证: