34 放大的X
作者: xxx时间限制: 1S章节: 循环
问题描述 :
请你编程画一个放大的’X’。
如2*2的’X’应如下所示:
XX
XX
5*5的’X’如下所示:
X X
X X
X
X X
X X
输入说明 :
输入数据第一行是一个整数T,表示有T组测试数据;
接下来有T行,每行有一个正数n(2 <= n <= 80),表示放大的规格。
List item
输出说明 :
对于每一个n打印一个规格为n * n放大的’X’;每组输出后面空一行。
注意:每一行输出的字符X为大写的’X’,第一行的最前与最后都无空格,每行的最后都无空格。
注意一点即可:每行的最后都无空格,要不然会出现PE格式错误
#include<stdio.h>
int main()
{ int T;
while(scanf("%d",&T)!=EOF){
for(int s=0;s<T;s++)
{
int n;
scanf("%d",&n);
if(2<=n&&n<=80)
{
for (int i = 0; i < n; ++i){
for (int j = 0; j < n; ++j){
if ((j == i) || ((i + j) == (n - 1))){
printf("X");
}
else{
//上半边三角形空格打印加上上半边三角形区域旁边的空格打印
if(i*2 <n-1){
if(i+j<n){
printf(" ");
}
}
//下面三角形区域空格打印加上下面三角形区域旁边的空格打印
else{
if( i>j ){
printf(" ");
}
}
}
}
printf("\n");
}
printf("\n");
}
}
}
return 0;
}