/*
放大的X
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8866 Accepted Submission(s): 2678
Problem Description
请你编程画一个放大的’X’。
如3*3的’X’应例如以下所看到的:
X X
X
X X
5*5的’X’例如以下所看到的:
X X
X X
X
X X
X X
Input
输入数据第一行是一个整数T,表示有T组測试数据;
接下来有T行,每行有一个正奇数n(3 <= n <= 79),表示放大的规格。
Output
对于每个n打印一个规格为n * n放大的’X’;每组输出后面空一行。
Sample Input
2
3
5
Sample Output
X X
X
X X
X X
X X
X
X X
X X
*/
#include<stdio.h>
//#include<string.h>
int main(){
int n,m,i,j,k;
int T;
char str[85][85]={0};
scanf("%d",&T);
//memset(str,0,sizeof(str));
while(T--){
scanf("%d",&n);
for(i=1;i<=n;i++){ //打一个n*n的表格,然后按要求输出
for(j=1;j<=n;j++){
if(j==i || j+i==n+1)
str[i][j]=‘X‘;
else
str[i][j]=‘ ‘;
}
}
for(i=1;i<=n/2;i++){ //以中间的x为中心的大x的上半部分
for(j=1;i<=n;j++){
if(i+j>n+1)
break;
printf("%c",str[i][j]);
}printf("\n");
}
for(;i<=n;i++){ //此处i的初值为n/2 +1
for(j=1;j<=i;j++){
printf("%c",str[i][j]);
}
printf("\n");
}
printf("\n"); //注意题目最后要求:每组输出后面空一行
}
//while(1);
return 0;
}