【基础】挑战赛第二题——放大的X
时间限制: 1.000 Sec 内存限制: 16 MB
题目描述
请你编程画一个放大的’X’。 如3*3的’X’应如下所示:
X X
X
X X
5*5的’X’如下所示:
X X
X X
X
X X
X X
输入
有一个正奇数n(3 <= n <= 79),表示放大的规格。
输出
打印一个规格为n * n放大的’X’
样例
输入
5
输出
X X
X X
X
X X
X X
**题目分析:**由题意可看出是一对称的图形,可以先写上半部分,在写中间,最后写下半部分。主要是找出空格之间的关系和字母的位置关系,利用for循环的嵌套来打印书写。
代码如下:
#include<stdio.h>
main()
{
int i,j,k,n;
scanf("%d",&n);
for(i=1;i<=n/2;i++)
{
for(j=1;j<i;j++)
printf(" ");
printf("X");
for(k=1;k<=n-2*i;k++)
printf(" ");
printf("X");
printf("\n");
}
for(i=1;i<=n/2;i++)
printf(" ");
printf("X");
printf("\n");
for(i=n/2;i>=1;i--)
{
for(j=1;j<i;j++)
printf(" ");
printf("X");
for(k=1;k<=n-2*i;k++)
printf(" ");
printf("X");
printf("\n");
}
}