輸入一個大寫的英文字母,輸出空心的字母金字塔。
輸入格式:
一個大寫英文字母。
輸出格式:
一個空心的大寫英文字母金字塔,其中第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循環的判斷條件需要想一想。
但覺得自己的寫的比較復雜,非最簡代碼,待優化。