因為函數要傳回,那就修改一下,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