c語言程式碼比較18bb/1
阿新 • • 發佈:2018-11-11
kata1:
我的程式碼:
別人的程式碼1:
用數學公式實現 第n個數是1+2+3+4…+n = (1+n)n/2;
進而結果是對求和的求和
對(1+n)n/2遍歷1 to n;
進而sum = 1/2 * (12 + 23 +34+…+nn+1)
即 sum = 1/2 ( 1(1+1) + 2 (2+1)+…+n(n+1));
sum = 1/2 * (1+22 + 32 +…n2 + 1+2 +3…+n)
別人的程式碼2:
用遞迴代替迴圈來 求和
神仙的程式碼:
這與程式碼1思路沒有差別,都是用formula
但是提供了一種新的n+1表示方式
即-~n == n+1
但是為什麼呢。。。
kata2:
尋找一個字串中大於m的字母的個數
我的程式碼:
不過這個程式碼是有問題的
但是當我更改這行後就可以了:
觀察函式頭可知,這是一個指標函式,即返回一個字元型的指標。
但是疑問我定義了字元陣列不能算作字元指標嗎。
別人的程式碼:
運用了aspintf 函式,可以根據傳入的字串自動分配記憶體,所以只需要char *r就行。
該函式在asprintf .h庫中