[問題] 新手程式一問?

看板C_and_CPP (C/C++)作者 (請稍後再撥)時間15年前 (2010/08/18 20:44), 編輯推噓3(304)
留言7則, 6人參與, 最新討論串1/1
要設計一個函數可用來找出一個k值 使4k+2的值最靠近n 找find_k(19),find_k(23),find_k(29).. 以下 ------------------------- #include <stdio.h> #include <stdlib.h> int find_k(int); int main(void) { printf("find_k(19)=%d\n",find_k(19)); printf("find_k(23)=%d\n",find_k(23)); printf("find_k(29)=%d\n",find_k(29)); system("pause"); return 0; } int find_k(int n) { int np; np=(n-2)/4; ←問題在這個地方想了很久,他直接把(n-2)/4 assign給np? 這樣兩個值不就是相等不是很靠近了? if(n-(4*np+2)<4*(np+1)+2-n) return np; else return np+1; } 藍色部分是不太懂的地方 感謝各位解惑@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.144.128 ※ 編輯: Cczr 來自: 140.113.144.128 (08/18 20:45) ※ 編輯: Cczr 來自: 140.113.144.128 (08/18 20:45)

08/18 20:46, , 1F
帶個數字進去算算看就知道了
08/18 20:46, 1F

08/18 22:47, , 2F
np 是 int, 小數點後面的東西會被 ooxx
08/18 22:47, 2F

08/18 22:48, , 3F
樓上好糟糕...
08/18 22:48, 3F

08/18 23:06, , 4F
建議修改一個利於搜尋的標題
08/18 23:06, 4F

08/19 05:20, , 5F
if else就拿來判斷4*k+2跟4*(k+1)+2 誰比較接近n
08/19 05:20, 5F

08/19 05:21, , 6F
哦 你的問題是二樓說的 int小數會無條件捨去哦..
08/19 05:21, 6F

08/19 14:55, , 7F
懂了! 謝謝各位~
08/19 14:55, 7F
文章代碼(AID): #1CQzMjZL (C_and_CPP)
文章代碼(AID): #1CQzMjZL (C_and_CPP)