[蓝桥杯2015初赛]打印大X
题目描述
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。
为了便于比对空格,所有的空白位置都以句点符来代替。
要求输入两个整数m n,表示笔的宽度,X的高度。
为了便于比对空格,所有的空白位置都以句点符来代替。
要求输入两个整数m n,表示笔的宽度,X的高度。
输入格式
输入存在多组数据
每组测试数据输入一行,包含两个整数,用空格分开
(0<m<n, 3<n<1000, 保证n是奇数)
每组测试数据输入一行,包含两个整数,用空格分开
(0<m<n, 3<n<1000, 保证n是奇数)
输出格式
要求输出一个大X
输入样例 复制
3 9
4 21
输出样例 复制
***.....*** .***...***. ..***.***.. ...*****... ....***.... ...*****... ..***.***.. .***...***. ***.....*** ****................**** .****..............****. ..****............****.. ...****..........****... ....****........****.... .....****......****..... ......****....****...... .......****..****....... ........********........ .........******......... ..........****.......... .........******......... ........********........ .......****..****....... ......****....****...... .....****......****..... ....****........****.... ...****..........****... ..****............****.. .****..............****. ****................****
1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String [] args) { 6 Scanner s = new Scanner(System.in); 7 while(s.hasNext()) { 8 int m = s.nextInt(); 9 int n = s.nextInt(); 10 int wide = m + n - 1; 11 char arr[] = new char[wide]; 12 for (int i = 0;i < n;i++) { 13 for(int j = 0;j < wide;j++) { 14 if(j >= i &&j < i + m ||j < (wide - i)&&j >= (wide - i - m )) { 15 arr[j] = '*'; 16 }else { 17 arr[j] = '.'; 18 } 19 } 20 System.out.println(arr); 21 } 22 } 23 } 24 }

浙公网安备 33010602011771号