編寫函式diamond列印乙個菱形

2021-06-06 07:35:16 字數 654 閱讀 3873

編寫函式diamond列印乙個菱形(linux 上c語言程式設計)

此為c一站式學習書上的一道習題,想了很久終於有解,將方法貼出來,方便以後學習時用:

總結:1。對於列印一類題目始終應該考慮字元的輸出順序,如此題中應該先輸出空格再輸出定義的字元,所以寫時先考慮空格輸出,再考慮特殊字元輸出。

2.找出數字規律,按規律合理拆分。此圖實際可以看成上,下兩個部分;從中間輸入數顯示得到最長的行拆分開來,上半部分空格由大到小,字元由小到大;下半部分空格由小到大,字元由大到小。找到這個關鍵點將程式一分為二來做就簡單了(我一開始沒有找到這點,弄了半天無果);再者找到空格與實體輸出字元的關係為:

m=輸出字元+2*空格字元。。抓住這個關係,此題就有解了。

先列印空格,再列印字元,字元後面的空格不用考慮。

就如此簡單,看明白了嗎

#include

void diamond(int m,char c)

for(k=0;k<=(m-1)/2;k++)

}int main(void)

執行結果:

[root@ethantest cstudy]# ./6_2_excise.out

****

*****

*******

*****

****

編寫乙個mysleep函式

在這之前,我寫了有關於訊號的相關知識,我在裡面講到了兩個函式,分別是alarm和pause兩個函式,這兩個函式是幹嘛的呢,我在這裡再介紹一遍。呼叫alarm 函式可以設定乙個鬧鐘 也就是告訴核心在 seconds 秒之後給當前程序發 sigalrm 訊號,該訊號的預設處理動作是終止當前程序。這個函式...

編寫乙個名為 collatz 的函式

編寫乙個名為 collatz 的函式,它有乙個名為 number 的引數。如果引數是偶數,那麼 collatz 就列印出 number 2,並返回該值。如果 number 是奇數,collatz 就打 印並返回 3 number 1。然後編寫乙個程式,讓使用者輸入乙個整數,並不斷對這個數呼叫 col...

編寫乙個makefile

什麼是makefile?對於大多數的windows程式設計師來講,makefile可能不是那麼重要,因為windows的ide都為程式設計師做好了這個工作。但是在linux下程式設計,會不會寫makefile,從側面上說明乙個人是否具備完成大型工程的能力。makefile的作用 makefile是用...