蓝桥杯 历届试题 打印十字图 java详解
2016-02-20 16:19
495 查看
历届试题 打印十字图
时间限制:1.0s 内存限制:256.0MB
问题描述
小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:
..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..
对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。
输入格式
一个正整数 n (n<30) 表示要求打印图形的层数。
输出格式
对应包围层数的该标志。
样例输入1
1
样例输出1
..$$$$$..
..$...$..
$$$.$.$$$
$...$...$
$.$$$$$.$
$...$...$
$$$.$.$$$
..$...$..
..$$$$$..
样例输入2
3
样例输出2
..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..
提示
请仔细观察样例,尤其要注意句点的数量和输出位置。
思路:
java代码
时间限制:1.0s 内存限制:256.0MB
问题描述
小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:
..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..
对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。
输入格式
一个正整数 n (n<30) 表示要求打印图形的层数。
输出格式
对应包围层数的该标志。
样例输入1
1
样例输出1
..$$$$$..
..$...$..
$$$.$.$$$
$...$...$
$.$$$$$.$
$...$...$
$$$.$.$$$
..$...$..
..$$$$$..
样例输入2
3
样例输出2
..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..
提示
请仔细观察样例,尤其要注意句点的数量和输出位置。
思路:
java代码
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input=new Scanner(System.in); int n=input.nextInt(); int low,row,center; low=row=4*(n-1)+9; int [][]array=new int[low][row]; for(int i=0;i<low;i++) for(int j=0;j<row;j++){ array[i][j]='.'; } center=row/2; for(int i=center-2;i<=center+2;i++){ array[center][i]='$'; array[i][center]='$'; } for(int m=0;m<n;m++){ for(int i=center-2-2*m;i<(center+3+2*m);i++){ array[center-(4+m*2)][i]='$'; array[center+(4+m*2)][i]='$'; array[i][center-(4+m*2)]='$'; array[i][center+(4+m*2)]='$'; } } for(int m=0;m<n;m++){ for(int i=center-3-2*m;i<=center+3+2*m;i++){ array[center-(2+2*m)][i]='$'; array[center+(2+2*m)][i]='$'; array[i][center-(2+2*m)]='$'; array[i][center+(2+2*m)]='$'; } array[center-(2+2*m)][center-(1+2*m)]='.'; array[center-(2+2*m)][center+(1+2*m)]='.'; array[center-(1+2*m)][center-(2+2*m)]='.'; array[center-(1+2*m)][center+(2+2*m)]='.'; array[center+(1+2*m)][center-(2+2*m)]='.'; array[center+(1+2*m)][center+(2+2*m)]='.'; array[center+(2+2*m)][center-(1+2*m)]='.'; array[center+(2+2*m)][center+(1+2*m)]='.'; } for(int i=0;i<low;i++){ for(int j=0;j<row;j++){ System.out.print((char)array[i][j]); } System.out.println(); } } }
相关文章推荐
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- eclipse常用快捷键
- Spark - ERROR Executor: Exception in tjava.lang.OutOfMemoryError: unable to create new native thread
- Mac上如何安装gradle以及eclipse上如何搭建gradle
- Java发送get及post请求工具方法
- Java认证考试实例疑难辨析(11)
- Spring 资源访问剖析和策略模式应用
- 夯实JAVA基本之一——泛型详解(2):高级进阶
- Servlet JNICALL Java_calcServlet_calc
- 夯实JAVA基本之一 —— 泛型详解(1):基本使用
- Spring DI
- 数组中出现次数超过一半的数字 -java
- JAVA多线程-线程间通信(二)-生产者/消费者模式实现
- java中截取字符串技巧
- Java 可变参数列表
- JAVA的Date类与Calendar类【转】
- java:保留n位小数
- Java设计模式 单例模式
- spring 包下载地址
- Java修饰符public,private,protected及默认的区别