首页 > 代码库 > 放大的X(杭电2565)

放大的X(杭电2565)

 

/*放大的X
请你编程画一个放大的’X’。

Input
输入数据第一行是一个整数T,表示有T组测试数据;
接下来有T行,每行有一个正奇数n(3 <= n <= 79),表示放大的规格。

 

Output
对于每一个n打印一个规格为n * n放大的’X’;每组输出后面空一行。
 

Sample Input
2
3

 

Sample Output
X X
 X
X X


 

*/
#include<cstdio>
#include<cstring>
int main()
{
    int T;
    char str[100][100];
    scanf("%d",&T);
    while(T--)
    {
        int n,i,j;
        memset(str,0,sizeof(str));
        scanf("%d",&n);
        //输入字符
        for(i=1;i<=n;i++)
        {
           for(j=1;j<=n;j++)
           {
                if(j==(n-i+1)||i==j)
                str[i][j]=‘X‘;
                else
                str[i][j]=‘ ‘;
            }
        }
        //除去右边多余的空格
        for(i=1;i<=n/2;i++)
        {
            for(j=1;j<=n;j++)
            {
                if(i+j>n+1)
                break;
                else
                printf("%c",str[i][j]);
            }
            printf("\n");
        }
            for(;i<=n;i++)
        {
            for(j=1;j<=i;j++)
            {
                printf("%c",str[i][j]);
             }
        printf("\n");
        }
        printf("\n");
     }
     return 0;
}