久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      用循環(huán)打印菱形_C語(yǔ)言算法

       

        菱形打印

        打印菱形在控制臺(tái)的思路是,把菱形上下拆分,分兩段很接近的代碼來(lái)打印, 其實(shí)這樣代碼很不好看,并且不好閱讀 我們知道,要打印的圖案是這種:

        *

        ***

        *****

        ***

        *

        滿足上下對(duì)稱,左右對(duì)稱,那么,你能不能也弄一個(gè)二重循環(huán),同樣是對(duì)稱的? 很簡(jiǎn)單,首先我們要拋開習(xí)慣性思維,for循環(huán)不一定要在0開始或者0結(jié)束 我們可以讓循環(huán)從 -c 到 c ,這樣不就輕松產(chǎn)生一個(gè)對(duì)稱的嗎?(只要取個(gè)絕對(duì)值) 我們把菱形的中心看成是坐標(biāo)0,0,那么,會(huì)輸出星號(hào)的坐標(biāo),是 |x| + |y| <= c 的點(diǎn)。

       

        #include

        #define IABS(x) ( (x) >= 0 ? (x) : -(x) ) //定義一個(gè)計(jì)算絕對(duì)值的宏

        void print(int size) // size是這個(gè)菱形的半徑,直徑會(huì)是size * 2 + 1

        {

        int x, y;

        for (y = -size; y <= size; y++)

        { for (x = -size; x <= size; x++)

        { if ( IABS(x) + IABS(y) <= size ) //x和y各自的絕對(duì)值的和,即 |x| + |y| <= size

        putchar(‘*’);

        else putchar(‘ ‘);

        }

        putchar(‘n’);

        }

        }

        int main()

        { print(5); //輸出一個(gè)半徑為5的菱形 return 0;

        }

       

        如果我需要得到空心菱形呢?非常非常簡(jiǎn)單,因?yàn)榱庑芜吔缟系狞c(diǎn),滿足的是|x| + |y| == c 所以,我們只要把那個(gè)if里的小于等于號(hào),改成雙等于號(hào) == 就可以了。

        再類似地,如果我不要*號(hào),我要最外層是字母A,然后里一層是B這樣呢?

       

        即:

        A

        ABA

        ABCBA

        ABA

        A

       

        那么,我們只要在putchar那里做一個(gè)字符計(jì)算:

       

        void print(int size) // size是這個(gè)菱形的半徑,直徑會(huì)是size * 2 + 1

        { int x, y;

        for (y = -size; y <= size; y++)

        { for (x = -size; x <= size; x++)

        { if ( IABS(x) + IABS(y) <= size ) //x和y各自的絕對(duì)值的和,即 |x| + |y| <= size

        putchar( ‘A’ + (size – IABS(x) – IABS(y)) ); //留意這里的計(jì)算方法

        else putchar(‘ ‘);

        } putchar(‘n’);

        }

        }

       

        類似地,如果我們要打印的是X形:

        * *

        * *

        *

        * *

        * *

       

        同樣可以利用這個(gè)思路完成。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)