看板 C_and_CPP 關於我們 聯絡資訊
問題:寫出一個可以計算1~100中是7的倍數的函式,若為7的倍數則傳回main()中印出 程式碼 #include<stdio.h> int multiple(int); int main(void){ int result,i=1; result=multiple(i); printf("%d is 7 multiple\n",result); return 0; } int multiple(int i){ if (i==100) return (0); else{ if (i%7==0) return i; } multiple(i+1); } 答案永遠都只有一個,請問各位高手在遞迴的部分要怎麼寫比較好 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.101.8.85
KitWoolsey:你先return了 後面的multiple(i+1)就不會執行了啊... 03/30 20:53
loveme00835:因為你已經說出兇手是誰, 戲就演完啦... 03/30 20:54
KitWoolsey:不過result 可以吃這麼多值嗎 看起來好像Python... XD 03/30 21:04
ericinttu:樓上一語中的 03/30 21:09
uranusjr:return 改成 yield 再改一改就差不多了, 原 po 似乎很有 03/30 21:11
uranusjr:function programming 的天分XD 03/30 21:11
uranusjr:functional (錯字) 03/30 21:11
yauhh:答案可以有非常多個唷. 03/30 21:42