<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言如何輸出菱形

            時間:2025-01-27 14:26:12 路燕 C語言 我要投稿

            C語言如何輸出菱形

              適有同學問起一些C語言題目,本想上網搜索了事,但網上的方法都是分為上下部分用兩個嵌套for循環輸出。我想有沒有合起來輸出的呢,這樣符合簡潔又美觀的要求呢?答案是有的。下面是小編為大家搜索整理的C語言如何輸出菱形,希望大家能有所收獲!

              題目:輸出行列都相等的菱形,如5行5列:

              行列 12345

              1 *

              2 ***

              3 *****

              4 ***

              5 *

              分析:

              當行數等于總行數的一半時,'*'是遞增的,遞增為2。

              當行數大于總行數的一半時,'*'是遞減的,遞增為2。

              設有一個行列為n的菱形,

              我們用變量i作為行數,以0開始,i

              k作為n菱第i行要輸出的'*'個數。

              則i<=n的中值(用m表示,m=(n-1) i="">m時,k遞減。

              因為k相對于m行對稱,所以:

              當i>m時,i每增加i-m時的k值就和第m-i行的k值相等,即第i-m行和第m-(i-m)相對稱。

              所以得出結果:

              當i<=m時,k=2i+1

              當i>m時,k=2(m-(i-m))+1,(m=(n-1)/2)。即k=2n-2i-1

              由于我們只需要輸出'*'左邊的空格即可,所以每行'*'左邊的空格的個數為:(n-每行的k)/2。

              每行循環輸出空格,再循環輸出每行的'*',再輸出回車,結束一行。

              這樣我們就可以開始編程了。

              #include

              int main()

              {

              int i,j,k,n;//定義四個變量:i是行,j每行*號前的空格數,k每行的*號數

              printf("please input odd n:");

              scanf("%d",&n); //輸入奇數n

              for (i=0;i

              {

              if(n>=2*i+1) //判斷k值

              k=2*i+1;

              else

              k=2*n-2*i-1;

              for(j=(n-k)/2;j>0;j--) //循環輸出空格

              printf(" ");

              for(;k>0;k--) //循環輸出*號

              printf("*");

              printf("n"); //輸出回車結束一行

              }

              本來呢題目就到止結束了,但上面的程序還不夠完美

              比如說,別人輸入n值為偶數怎么辦?輸入非數值呢?

              我們加一點東西進去:

              #include

              int main()

              {

              int i,j,k,n=0; //這里給n賦初值,即使輸入非數值,n也可有確切的值。

              do{ //增加一個大循環,可以令n可以輸入多次以觀察不同的結果。

              printf("please input odd n, 0 to exit:");//當輸入0的時候,退出大循環,結束程序。

              scanf("%d",&n);

              if (!(n%2)) //增加對輸入偶數的判斷。

              {

              printf("you input a even, please input again.n");

              continue;

              }

              for (i=0;i

              {

              if(n>=2*i+1)

              k=2*i+1;

              else

              k=2*n-2*i-1;

              j=(n-k)/2;

              for(;j>0;j--)

              printf(" ");

              for(;k>0;k--)

              printf("*");

              printf("n");

              }

              }while(n);

              return 0;

              }

              拓展:如何學習c語言最好?

              (一)如何學習c語言最好

              用PIC單片機開發電子產品和用C語言編程,最主要的是要堅持學習,不能中斷。應通過各種實例程序來學習C語言的語法規則。要熟練掌握C語言的數據類型表達方法、各種運算符、各種語句結構。

              最好能背誦。要學會用C函數實現所需功能的方法。實際上,每個C函數都相當于一個功能模塊,一個C函數便可實現一種功能。

              此外,用C語言開發PIC單片機應用產品,必須具有PIC單片機匯編語言知識。如果你已經掌握了用匯編語言編寫PIC單片機源程序的方法,最好將編寫成功的PIC單片機匯編語言源程序,逐個用C語言源文件代換,從中體會C語言的優越性。

              (二)c語言學習技巧

              1、首先準備一臺PC,學編程一般對PC沒有太大的要求,一般主流的配置就好。

              2、有了電腦之后,就得考慮安裝什么操作系統了,主流使用的操作系統是windows,不過在這里不建議學習C編程使用windows,建議使用Linux。所以學習者最好安裝雙系統,或者徹底習慣Linux系統。

              3、不管學習哪門編程語言,我都建議學習者必須有一本關于此語言的全面知識的書籍,大學里一般采用的是譚浩強老師的《C語言程序設計》,建議學習者可以去仔細研讀。

              4、在平時學習看書的時候,一定有學會做筆記的習慣,而且不僅要記錄,還要經常看自己所做的筆記,這樣才會有較好的學習效率。

              5、多逛技術論壇或者技術問答社區,想別人分享自己的代碼,有要積極去閱讀別人的代碼,互相取長補短。

              6、在C語言基礎學習得差不多之后,可以深入學習數據結構,以及自己嘗試做一些簡單的項目,比如學生學籍管理系統、圖書管理系統,銀行管理系統等。

            【C語言如何輸出菱形】相關文章:

            C語言怎樣輸出菱形08-02

            C語言輸出菱形的方法07-31

            如何更好地用c語言如何輸出菱形08-30

            C語言怎么輸出一個菱形09-27

            C語言數據輸出及輕量進階10-13

            C語言數據的輸入輸出復習08-11

            C語言字符數組的幾種輸出方式05-21

            C語言的字符串輸出puts()函數06-23

            C語言字符串的輸入輸出07-03

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院