码迷,mamicode.com
首页 > 其他好文 > 详细

HDOJ/HDU 2565 放大的X(分段思考~)

时间:2016-06-05 06:36:11      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

Problem Description
请你编程画一个放大的’X’。
如3*3的’X’应如下所示:

X X XX X5*5的’X’如下所示:X X X X X X XX 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


我是将输出分成3部分来思考的。这样容易解决问题一些。
你们看我代码很容易理解的。

import java.util.Scanner;

/**
 * @author 陈浩翔
 * 2016-6-5
 */
public class Main{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t=sc.nextInt();
        while(t-->0){
            int n=sc.nextInt();
            int m=n/2+1;//中间值
            for(int i=1;i<m;i++){
                for(int a=1;a<i;a++){
                    System.out.print(" ");
                }
                System.out.print("X");
                for(int a=1;a<=n-i*2;a++){
                    System.out.print(" ");
                }
                System.out.print("X");
                System.out.println();
            }
            for(int i=1;i<m;i++){
                System.out.print(" ");
            }
            System.out.print("X");
            System.out.println();

            for(int i=m-1;i>=1;i--){
                for(int a=1;a<i;a++){
                    System.out.print(" ");
                }
                System.out.print("X");
                for(int a=1;a<=n-i*2;a++){
                    System.out.print(" ");
                }
                System.out.print("X");
                System.out.println();
            }
            System.out.println();
        }
    }
}

HDOJ/HDU 2565 放大的X(分段思考~)

标签:

原文地址:http://blog.csdn.net/qq_26525215/article/details/51587117

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!