Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

C語言依據某規律印出圖形的問題?

要求輸入1個整數n,下圖分別為n=1、2、3時的輸出

http://i.imgur.com/RolYpFp.png

小弟苦思已久但毫無頭緒,懇請諸位大神相救!

2 個解答

評分
  • 4 年前
    最佳解答

    #include <stdio.h>

    #define SYM ("*")

    void ff(int lvl, int shift){

    int i;

    if(0 > lvl) return;

    ff(lvl-1, shift);

    for(i=shift;i>0;--i,printf(" "));for(i=(1<<lvl);i>0;--i,printf(SYM));printf("\n");

    ff(lvl-1, shift+(1<<(lvl-1)));

    }

    int main(){

    int n;

    for(;printf("give me n (-1 to stop): ") && scanf("%d",&n) && n >= 0;)ff(n,0);

    return 0;

    }

還有問題?馬上發問,尋求解答。