• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            熱轉(zhuǎn)印www.yxheatpress.com

            公司網(wǎng)站模板http://qiyemoban.software8.co/

            常用鏈接

            統(tǒng)計(jì)

            友情鏈接

            最新評論

            兩個(gè)for循環(huán)打印菱形【C語言】

             輸入數(shù)字,打印菱形。

            這是一道編程題,更是一道數(shù)學(xué)題。平常會以for循環(huán)打印輸出,仔細(xì)想想,用兩個(gè)for完全可以實(shí)現(xiàn)(2011-09-26)。

             

            以數(shù)字5為例:

             

             

            方法一(以循環(huán)為主打印)

            1. #include <stdio.h> 
            2. void print(int n) 
            3.     int i,j; 
            4.     for(i=1; i<=n; i++) 
            5.     { 
            6.         for(j=1; j<=n-i; j++) 
            7.         { 
            8.             printf(" "); 
            9.         } 
            10.         for(j=n-i+1; j<n+i; j++) 
            11.         { 
            12.             printf("*"); 
            13.         } 
            14.         printf("\n"); 
            15.     } 
            16.      
            17.     for(i=n-1; i>=1; i--) 
            18.     { 
            19.         for(j=1; j<=(n-i); j++) 
            20.         { 
            21.             printf(" "); 
            22.         } 
            23.         for(j=n-i+1; j<n+i; j++) 
            24.         { 
            25.             printf("*"); 
            26.         } 
            27.         printf("\n"); 
            28.     } 
            29.  
            30. void main() 
            31.     int n; 
            32.     printf("---------開始打印符號---------\n"); 
            33.     printf("請輸入數(shù)字:"); 
            34.     scanf("%d",&n); 
            35.     print(n); 
            36.     printf("---------結(jié)束打印符號---------\n");     

             

            方法二:(兩個(gè)for,根據(jù)條件判斷實(shí)現(xiàn))

            1. #include <stdio.h> 
            2. //輸出格式 
            3. void print(char ch) { 
            4.     putchar(ch); 
            5. //星號 
            6. void printstar(int n) 
            7.     int i,j;    //行,列 
            8.     for(i=0; i<2*n-1; i++) 
            9.     { 
            10.         for(j=0; j<2*n-1; j++) 
            11.         { 
            12.             if(i<n) 
            13.             { 
            14.                 if(j>=n-i-1&&j<n+i) 
            15.                 { 
            16.                     print('*'); 
            17.                 } 
            18.                 else 
            19.                 { 
            20.                     print(' '); 
            21.                 } 
            22.             } 
            23.             else 
            24.             { 
            25.                 if(j>=i-n+1&&j<3*n-i-2) 
            26.                 { 
            27.                     print('*'); 
            28.                 } 
            29.                 else  
            30.                 { 
            31.                     print(' '); 
            32.                 } 
            33.             } 
            34.  
            35.         } 
            36.         print('\n'); 
            37.     } 
            38.  
            39. void main() 
            40.     int n; 
            41.     printf("---------開始打印符號---------\n"); 
            42.     printf("請輸入數(shù)字:"); 
            43.     scanf("%d",&n); 
            44.     printstar(n); 
            45.     printf("---------結(jié)束打印符號---------\n");     

             

            說明:(2n-1n-i-1= n+i

                  2n-1— -n-i-1))3n-i-2

             

            18為例

             

            posted on 2013-05-07 14:17 不聽話的 閱讀(5615) 評論(5)  編輯 收藏 引用

            評論

            # re: 兩個(gè)for循環(huán)打印菱形【C語言】 2013-05-07 16:35 溪流

            “平常會以for循環(huán)打印輸出,仔細(xì)想想,用兩個(gè)for完全可以實(shí)現(xiàn)”看不明白,平常會用幾個(gè)for循環(huán)的意思?  回復(fù)  更多評論   

            # re: 兩個(gè)for循環(huán)打印菱形【C語言】 2013-05-07 22:48 Jcilz

            呵呵,上學(xué)時(shí)剛學(xué)C語言做過,老師給的作業(yè)。
            幾個(gè)循環(huán)我不記得了,
            我記得當(dāng)時(shí)剛學(xué)編程,入門級別,經(jīng)過硬著頭皮分析最后得出的是兩個(gè)直線方程,然后用代碼跑這兩個(gè)方程輸出東西,接著就對編程有了一些新的感悟。  回復(fù)  更多評論   

            # re: 兩個(gè)for循環(huán)打印菱形【C語言】 2013-05-07 23:38 Jcilz

            // 輸入打印高度
            void printStar(int h)
            {
            int halfH = h/2;

            for (int line = 0; line < h; ++line)
            {
            int spaceCount = -1 * line + halfH;
            if (line > halfH)
            spaceCount = 1 * line - halfH;
            for (int i = 0; i < spaceCount; ++i)
            {
            printf(" ");
            }

            int starCount = 2 * line - 1;
            if (line > halfH)
            starCount = -2 * line + h*2 - 1;
            for (int i = 0; i < starCount; i++)
            {
            printf("*");
            }
            printf("\n");
            }
            }

            哈哈,懷舊一下,當(dāng)時(shí)的做法。  回復(fù)  更多評論   

            # re: 兩個(gè)for循環(huán)打印菱形【C語言】 2013-05-07 23:46 nbuxrr

            單個(gè)while循環(huán)似乎也可以搞定。  回復(fù)  更多評論   

            # re: 兩個(gè)for循環(huán)打印菱形【C語言】 2013-05-08 01:59 bbq

            一個(gè)for 循環(huán)也可以搞定:
            void printStar(int h) {
            for (int i = 0; i<( h*2-1)^2; i++) {
            int col=i%(h*2-1)
            int row=i/(h*2-1)
            if 判斷條件 then print *
            else print ' '
            }  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            日本免费久久久久久久网站| 国产香蕉97碰碰久久人人| 国産精品久久久久久久| 奇米综合四色77777久久| 久久久久久精品免费看SSS| 人妻无码久久精品| 无码任你躁久久久久久老妇| 久久青青国产| 亚洲国产精品综合久久一线| 午夜精品久久影院蜜桃| 麻豆精品久久久久久久99蜜桃| 亚洲国产成人精品女人久久久| 中文成人无码精品久久久不卡| 亚洲精品乱码久久久久久蜜桃 | 色综合久久久久综合体桃花网| 久久精品国产久精国产一老狼| 久久精品国产亚洲αv忘忧草| 99久久国产亚洲综合精品| 国产毛片欧美毛片久久久 | 亚洲色大成网站WWW久久九九| 性欧美丰满熟妇XXXX性久久久| 韩国免费A级毛片久久| 久久97精品久久久久久久不卡| 99久久精品国产一区二区| 亚洲国产成人乱码精品女人久久久不卡 | 一本久久a久久精品vr综合| 久久亚洲美女精品国产精品| 久久精品国产影库免费看| 久久国产精品一区| 久久99久国产麻精品66| 99国产精品久久| 性做久久久久久久久久久| 少妇久久久久久久久久| 精品久久久久久国产牛牛app| 久久亚洲精品无码VA大香大香| 九九久久自然熟的香蕉图片| 精品国产综合区久久久久久| 午夜天堂精品久久久久| 国产日韩欧美久久| 久久精品aⅴ无码中文字字幕不卡 久久精品成人欧美大片 | 久久九九亚洲精品|