[程設習題] C Primer Plus Ch6 #4

4.     寫一個程式讓使用者打入大寫英文字母,然後使用巢狀迴圈做個金字塔像這樣:


   A


  ABA


 ABCBA


ABCDCBA



#include “stdafx.h”


#include <stdio.h>                                         //引入stdio.h


#include <stdlib.h>                                        //引入stdlib.h


int main(int argc, char* argv[])


{


     int ch=0, space_num=0, i,j;                          //宣告chspace_numij變數備用


     printf(“Please enter a english charectar(A-Z):”);


     scanf(“%c”, &ch);                                    //讓使用者輸入字元,指定到ch變數中


     space_num=ch-‘A’;                                    //算金字塔的第一行要有幾個空格


     for (i=0;i < ch-‘A’+1; i++)                          //FOR迴圈,從0開始到ch-A+1的值(金字塔有幾層),每次累加1


     {


           if (space_num-i != 0)                           //如果空格數是0就跳過


                printf(“%*c”,space_num-i,0);               //印出指定數量的空格(最少會有一個,由i去控制它)


           for (j=’A’;j <= ‘A’+i; j++)                         


                printf(“%c”,j);                            //印出A(i去控制的)字母的所有字元


           for (j=(‘A’+i)-1;j >= ‘A’; j–)                


                printf(“%c”,j);                            //往回印 (i去控制的)字母到A的所有字元


           printf(“\n”);                                   //印出換行


     }


     system(“PAUSE”);                                     //「按任意鍵繼續」的程式


     return 0;                                            //函數結束,傳回整數0並跳回原本呼叫的地方


}