直接数据模拟填数,若有多组将除第一组输出第一行之外,别的都不输
#include <cstdio>
#include <cstring>
#define MAXN 45
char array[MAXN][MAXN];
void init(int n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
array[i][j] = ' ';
}
}
}
void add(int n)
{
init(n);
int j=0;
for(int i=0; i<n; i++)
{
array[i][j] = 'X';
array[i][n-1-j] = 'X';
j++;
}
}
int main()
{
int N;
scanf("%d",&N);
int t=0;
while(N--)
{
int a,b;
scanf("%d%d",&a,&b);
add(a);
while(b--)
{
for(int i=t; i<a; i++)
{
for(int j=0; j<a; j++)
{
printf("%c",array[i][j]);
}
printf("\n");
t = 1;
}
}
if(N != 0) printf("\n");
t = 0;
}
return 0;
}