输入一个大写的英文字母,输出空心的字母金字塔。
输入格式:
一个大写英文字母。
输出格式:
一个空心的大写英文字母金字塔,其中第1层的“A”在第1行的第40列,列从1开始计数。
输入样例:
E
输出样例:
A
B B
C C
D D
EEEEEEEEE
作者: 翁恺
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB
1 import java.util.Scanner; 2 public class Main { 3 public static void main(String[] args) { 4 Scanner sc=new Scanner(System.in); 5 String s=sc.next(); 6 char letter=s.charAt(0); 7 for(int i=1;i<=(int)letter-'A'+1;i++){ 8 for(int j=40-i;j>=1;j--){ 9 System.out.print(" "); 10 }//字母前空格 11 System.out.print((char)('A'-1+i)); 12 if(i!=1&&i!=(int)letter-'A'+1){ 13 for(int j=2;j<2*i-1;j++){//绕 14 System.out.print(" ");//字母间空格 15 } 16 } 17 else{ 18 if(i!=1){ 19 for(int j=1;j<2*i-2;j++){//绕 20 System.out.print((char)('A'-1+i)); 21 } 22 } 23 } 24 if(i!=1)System.out.println((char)('A'-1+i)); 25 else System.out.println(); 26 } 27 } 28 }
题目看起来不难,找规律。
for循环的判断条件需要想一想。
但觉得自己的写的比较复杂,非最简代码,待优化。