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(); } } }