解題思路:需要求第幾個美女的年齡,age函式就一共被呼叫幾次,最後一次是main函式呼叫的,其餘的是在age函式中呼叫的。
求年齡函式:
int age(int temp)//自定義遞迴函式,引數temp型別是整型 { int peple_Age;//定義變數 if(temp==1)//如果temp=1 { peple_Age=10;//年齡是10歲 } else { peple_Age=age(temp-1)+2;//年齡等於比前一個大2歲 } return peple_Age;//將年齡返回到age函式呼叫處 }
原始碼演示:
#include<stdio.h>//標頭檔案 int main()//主函式 { int age(int temp);//函式宣告 int number;//定義變數 int people_Age;//定義變數 printf("輸入想知道的第幾個孩子:"); //提示語句 scanf("%d",&number);//鍵盤輸入想知道第幾個函式 people_Age=age(number);//呼叫age函式 printf("第%d個學生的年齡是%d歲\n",number,people_Age);//輸出年齡 return 0;//主函式返回值為0 } int age(int temp)//自定義遞迴函式,引數temp型別是整型 { int peple_Age;//定義變數 if(temp==1)//如果temp=1 { peple_Age=10;//年齡是10歲 } else { peple_Age=age(temp-1)+2;//年齡等於比前一個大2歲 } return peple_Age;//將年齡返回到age函式呼叫處 }
編譯執行結果如下:
輸入想知道的第幾個孩子:5第5個學生的年齡是18歲--------------------------------Process exited after 1.828 seconds with return value 0請按任意鍵繼續. . .
遞迴呼叫的重要性,在實際開發中用的並不多,根據小林大學期間參加ACM和藍橋杯的經驗來看競賽中出現的更多。
最新評論