c語言金字塔問題

文中序發表於2017-02-13

歡迎討論c語言金字塔問題

c語言金字塔問題,是典型的c語言語法問題,關鍵就在於如何有效的掌握c語言中的語法的應用,下面我們通過一個簡單的例題來深刻的探討一下該類問題。
問題描述
金字塔有幾層: 3
輸出第一行11111
輸出第二行 222
輸出第三行 3
解答
首先,我們可以很快的知道這是一個典型的應用for語句的c語言問題,那麼我們也要好好的研究一下如何去解答這個問題,金字塔3層對應的是3行,第一行有5個1,第二行有3個2 ,第三行有1個3.好了,有了這些我們將其轉換成數學問題,就可以得到如下完整的程式碼:

    #include<stdio.h>
    int main()
    {    
        int b,a,i,c,d;
        scanf("%d",&a);
        for(i=a,c=1;i>=1;i--,c++)
        {
            for(d=((5-(2*i)+1)/2);d>=1;d--)
            printf(" ");    

            for(b=1;b<=(2*i-1);b++)
            printf("%d",c%10);

            for((d=(5-(2*i)+1)/2);d>=1;d--)
            printf(" ");

            putchar('\n');
        }    
    return 0;    
    }  

如此這般,我們就可以輕而易舉的得到正確的結果了。over.
注:如有最優解,熱烈歡迎留言交流~

相關文章