看板 C_and_CPP 關於我們 聯絡資訊
因為函數要傳回,那就修改一下,hard code小到大。 #include <iostream> int main(int i, char* argc[]) { if(i > 100) { return 0; } int result = main(i + 1, argc); if(i % 7 == 0) { return i; } if(result) { std::cout << 105 - result << std::endl; } return 0; } ========================================================== 作者: bleed1979 (十三) 看板: C_and_CPP 標題: Re: [問題] 求倍數(使用遞迴) 時間: Wed Mar 30 23:56:30 2011 我也提供一個好了。 #include <iostream> int main(int i, char* argc[]) { if(i > 100) { return 0; } if(i % 7 == 0) { std::cout << i << std::endl; } return main(i + 1, argc); } G++4以上應該可過。 ※ 引述《qoo200033 (好時光)》之銘言: : 問題:寫出一個可以計算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: 114.43.124.118
attomahawk:XD 03/31 00:04
KitWoolsey:0_O 03/31 00:05
※ 編輯: bleed1979 來自: 114.43.124.118 (03/31 00:37)
ledia:聞到有一股回文大暴走的味道.... XD 03/31 09:14