1.题目描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。
输入描述:
多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
输出描述:
针对每行输入,输出用“*”组成的X形图案。
示例1
输入:
5复制输出:
* * * * * * * * *复制
示例2
输入:
6复制输出:
* * * * ** ** * * * *
解答①
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
for (int i = 0; i < n; i++) //外循环为行
{
for (int j = 0; j < n; j++) //内循环为列
{
if (i == j || i + j == n - 1)
//最关键的地方,正斜线为[i][i]处是*, 反斜杠为[i][n-1-j]处是*,一行打印1个或2个*
printf("*");
else
printf(" ");
}
printf("\n"); //打印完一行,换行
}
}
return 0;
}
解答②
int main()
{
int n = 0;
while(scanf("%d", &n) != EOF)
{
int i = 0;
int j = 0;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(i == j)
printf("*");
else if(i+j == n-1)//因为行和列是从0开始的
printf("*");
else
printf(" ");
}
printf("\n");
}
}
return 0;
}