hdu2565

来源:互联网 发布:思维 知乎 编辑:程序博客网 时间:2024/06/14 17:32

题目来源:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1001&cid=31288&problem=Problem%20%20I

解法或类型循环结构,和输入菱形类似。

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

题意描述
      给一个数输出一个由X组成的X。每一支上X的个数由你输入的数决定。
解题思路
      写两个双层循环,第一层控制行数,第二层控制每行的输出几个X几个空格。
 
时空分析: 

  

程序代码:

#include<stdio.h>

int main()

{

       int n,m,i,j,a,b;

       scanf("%d",&m);

 

       while(m--)

       {

              scanf("%d",&n);

              a=1;

              b=n;

              for(i=1;i<=n/2;i++)

              {

                     for(j=1;j<a;j++)

                     {

                            printf("");

                     }

                            printf("X");

                     for(j=1;j<=b-2;j++)

                     {

                            printf("");     

                     }

                     printf("X");

                     b=b-2;

                     a=a+1;

                     printf("\n");

              }

              b=n;

              a=1;

                     for(j=1;j<=b/2;j++)

                     {

                            printf("");

                     }

                            printf("X\n");

             

              for(i=1;i<=n/2;i++)

              {

                     for(j=1;j<b/2;j++)

                     {

                            printf("");

                     }

                            printf("X");

                     for(j=1;j<=a;j++)

                     {

                            printf("");

                           

                           

                     }

                     printf("X");

                     b=b-2;

                     a=a+2;

                     printf("\n");

              }

 

              printf("\n");   

       }

       return 0;

 }

错误分析: 1、一些变量忘记定义初始值。

2、输出后面少空一行。

0 0
原创粉丝点击