第四届蓝桥杯竞赛打印十字图案问题
2013-06-02 20:00
309 查看
i
import java.util.Scanner; public class PrintPictrue { //定义一个字符数组 private static char[][] p; private static int roundMount; //输入图案层数 private static int l; //数组长度 private static char initChar = '.';//初始填充的字符 private static char fillChar = '$';//显示图案的字符 public static void main(String[] args) { roundMount = new Scanner(System.in).nextInt();//用户输入参数 l = 9 + (roundMount - 1) * 4; p = new char[l][l]; initP(); // 初始化数组 fillJiShuLine(); fillOuShuLine(); fillCenterLine(); print();// 打印出来 } //填充偶数行0、2、4... private static void fillOuShuLine() { for (int r = 0; r < roundMount * 2+2; r += 2) { for (int n = 2 + r; n <= l / 2; n++) { symmetryFill(r, n); } // 第0行时,不填充条件二 if (r == 0) continue; // 如果不越界则填充 。。。.$$$.。。。.$$$.。。。 if ((r - 2) >= 0) { int n = r; // 对称填充 symmetryFill(r, n); symmetryFill(r, n - 1); symmetryFill(r, n - 2); } // if (r == 2) continue; for (int n = r - 4; n >= 0; n -= 2) { symmetryFill(r, n); } } } //填充奇数行1、3、5... private static void fillJiShuLine() { for (int r = 1; r < roundMount * 2+2; r += 2) { int n = 1 + r; symmetryFill(r, n); // 第0行时,不填充条件二 if (r == 1) continue; // 如果不越界则填充 。。。.$$$.。。。.$$$.。。。 if ((r - 3) >= 0) { n = r-3; // 对称填充 symmetryFill(r, n); } // if (r == 3) continue; for (n = r - 5; n >= 0; n -= 2) { symmetryFill(r, n); } } } //填充中间行 private static void fillCenterLine(){ symmetryFill(l/2,l/2); symmetryFill(l/2,l/2-1); symmetryFill(l/2,l/2-2); int n,r=l/2; for (n = r - 4; n >= 0; n -= 2) { symmetryFill(r, n); } } private static void print() { for (int i = 0; i < l; i++) { for (int j = 0; j < l; j++) { System.out.print(p[i][j]); } System.out.println(); } } //初始化赋值 private static void initP() { for (int i = 0; i < l; i++) for (int j = 0; j < l; j++) { p[i][j] = initChar; } } //对称填充 private static void symmetryFill(int x, int y) { p[x][y] = p[l - x - 1][y] = p[x][l - y - 1] = p[l - x - 1][l - y - 1] = fillChar; } }
相关文章推荐
- 第四届蓝桥杯 软件类省赛真题 第八题:打印十字图
- 蓝桥杯 打印十字图
- 蓝桥杯 十字图打印
- 蓝桥杯——打印十字图
- 蓝桥杯 打印十字图 (模拟)
- 蓝桥杯 历届试题 打印十字图 java详解
- 蓝桥杯 打印十字图
- 蓝桥杯练习题 PREV-2 打印十字图(文字图形)
- 蓝桥杯-打印十字图-java
- 蓝桥杯 历届试题 打印十字图
- 蓝桥杯 打印十字图(模拟)
- 第四届蓝桥杯预赛:打印十字图
- 蓝桥杯 算法提高VIP 栅格打印问题
- 蓝桥杯 - 打印十字图 (文字图形类)
- 蓝桥杯-历届试题-打印十字图
- 简单搜索 打印十字图 蓝桥杯历届试题
- 蓝桥杯 历届试题 打印十字图
- 蓝桥杯历届-打印十字图
- 蓝桥杯之 历届试题 打印十字图
- 蓝桥杯 打印十字