描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。
输入描述:
多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
输出描述:
针对每行输入,输出用“*”组成的X形图案。
示例1
输入:
5
输出:
* *
* *
*
* *
* *
示例2
输入:
6
输出:
* *
* *
**
**
* *
* *
本来该题应该是作为简单题而不会在这里出现的,但是既然在这里出现了,就有它存在的价值
首先,像这种输出一个图案(或者说找规律)的题目我们最最通常能够想到的思路就是使用嵌套循环来解决,然鹅本题不同,我在一开始做这道题的时候的想法也是想使用嵌套循环,然而思来想去也无法实现!!!
最后看了题解才发现另外一种思路,相信有做过矩阵输出类似题目的同学看到这个思路会豁然开朗
————我们将每个图案都看作一个矩阵,X形图案可以拆分成两根斜线,其中i==j时输出星号,或者i==n-i-1时输出星号即可,其他情况皆输出空格
#include<stdio.h>
int main()
{
char ch[25][25],i,j,n;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i==j||i+j==n+1)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
return 0;
}
未来在做到这类题目“卡顿”的时候,也可以试试这种思路!!!!!!!!!!!!!!!!!!