不知道錯(cuò)誤在哪
#include <stdio.h>?
/*?
?* 請使用遞歸函數(shù)完成本題
?* 小編已將正確代碼放在左側(cè)任務(wù)的“不知道怎么辦”里
?* 小編希望各位童鞋獨(dú)立完成哦~
?*/
int getAge(int num){
? ? int age;
? ? if(num==1){
? ? ? ? return 10;
? ? }
? ? else{
? ? ? ? age = getAge(num)*2+8;
? ? }
? ? return age;
}
int main()?
{
? ? int age = getAge(5);
printf("第5個(gè)人的年齡是%d歲", age);?
return 0;
}
2019-01-20
遞歸函數(shù)是調(diào)用它本身來進(jìn)行運(yùn)算,故我們要根據(jù)問題本身來考慮函數(shù)的出口和每一次遞歸的的聯(lián)系,如第五人說比第四人大兩歲,第四人比第三人大兩歲······第一人說他有10歲,可以看出他們之間相互大兩歲,則其數(shù)列表達(dá)式可為a(n)=a(n-1)+2。所以你可將age=getAge(num)*2+8改為age=gerAge(n-1)+2。即可
希望對你有幫助!