【C語言】經典——打印字母金字塔


#include <stdio.h>

int main()
{
    int i,j; //用於計數

    char ch ;
    char ch1 = 'A';//從ch1開始
    char ch2; 

    printf("請輸入一個大寫字母:");

    ch = getchar();

    for(i = 0; i < ch-'A'+1; i++)   //行數
    {
        for(j = 0; j < ch-'A'+1-i; j++)    //每行的空格數
        {
            printf(" ");
        }

        for(j = 0; j < 2*(i+1)-1; j++)
        {
            if(j <= i)//前半段
            {
                printf("%c",ch1+j); //通過 j++實現字母的遞增
                ch2 = ch1+j-1;      //接收累加結束時最大的值
            }

            if(j > i) //后半段
            {
                printf("%c",ch2--); //通過ch--實現遞減
            }
            ch1 = 'A';   //重置循環初始值
        }



        printf("\n");

    }





    return 0;
}

注:與其它金字塔題型相比,此題較為復雜一下,在金字塔題型中更有代表性

思路:通過循環控制行數與空格數,再考慮實現字母遞增(在考慮遞增的同時,盡量不要用控制循環的參數,容易導致循環次數改變此類的錯誤)


免責聲明!

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



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