PTA 7-9 空心字母金字塔 (10分)【待優化】


輸入一個大寫的英文字母,輸出空心的字母金字塔。

輸入格式:

一個大寫英文字母。

輸出格式:

一個空心的大寫英文字母金字塔,其中第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循環的判斷條件需要想一想。

但覺得自己的寫的比較復雜,非最簡代碼,待優化。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM