Board logo

標題: 階層運算 (利用函數遞迴法) [打印本頁]

作者: tonyh    時間: 2012-7-14 16:20     標題: 階層運算 (利用函數遞迴法)

本帖最後由 tonyh 於 2012-7-14 16:41 編輯

利用函數遞迴法設計一程式, 讓使用者輸入一個階層數, 電腦計算出答案.
例如: 輸入 5   其算式為  1*2*3*4*5  因此答案是 120
        輸入 3   其算式為  1*2*3  因此答案是 3
  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.      int x;
  7.      cout<<"請輸入階層運算的值(譬如5!便輸入5):";
  8.      cin>>x;
  9.      cout<<x<<"階層運算的結果值為"<<calcu(x)<<endl;
  10.      system("pause");
  11.      return 0;
  12. }
  13. int calcu(int x)
  14. {
  15.      if(x==1)
  16.      {
  17.          return x;
  18.      }else
  19.      {
  20.          return x*calcu(x-1);
  21.      }
  22. }
複製代碼

作者: t3742238    時間: 2012-7-14 16:31

  1. #include<iostream>
  2. using namespace std;
  3. int total(int);
  4. int main()
  5. {
  6.     int x;
  7.     cout<<"請輸入你階層數的預算數";
  8.     cin>>x;
  9.     cout<<"此階層運算的結果值為"<<total(x)<<endl;
  10.     system("pause");
  11.     return 0;
  12. }
  13. int total(int x)
  14. {
  15.     if(x>1)
  16.          return x*total(x-1);
  17.     else
  18.          return 1;
  19. }
複製代碼

作者: 劉漢文    時間: 2012-7-14 16:32

  1. #include<iostream>
  2. using namespace std;
  3. int total(int x);
  4. int main()
  5. {
  6.     int x;
  7.     cout<<"請輸入要計算的階層運算: ";
  8.     cin>>x;
  9.     cout<<total(x)<<endl;
  10.     system("pause");
  11.     return 0;
  12. }
  13. int total(int x)
  14. {
  15.     if(x>1)
  16.       return x*total(x-1);
  17.     else
  18.       return 1;
  19. }
複製代碼

作者: 蔡昀佑    時間: 2012-7-14 16:32

  1. #include<iostream>
  2. using namespace std;
  3. int total(int);
  4. int main()
  5. {
  6.    int x;
  7.    cout<<"請輸入你要ㄉ階曾數ㄉ預算數:";
  8.    cin>>x;
  9.    cout<<""<<total(x)<<endl;
  10.    system("pause");
  11.    return 0;
  12. }
  13. int total(int x)
  14. {
  15.     if(x>1)
  16.          return x*total(x-1);
  17.     else
  18.          return 1;
  19. }
複製代碼

作者: 尤泓鈞    時間: 2012-7-14 16:32

  1. #include<iostream>
  2. using namespace std;
  3. int total(int);
  4. int main()
  5. {
  6.     int x;
  7.     cout<<"請輸入你階層數的預算數";
  8.     cin>>x;
  9.     cout<<"此階層運算的結果值為"<<total(x)<<endl;
  10.     system("pause");
  11.     return 0;
  12. }
  13. int total(int x)
  14. {
  15.     if(x>1)
  16.          return x*total(x-1);
  17.     else
  18.          return 1;
  19. }
複製代碼

作者: t2364705    時間: 2012-7-14 16:44

  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.      int x;
  7.      cout<<"請輸入階層運算的值(譬如5!便輸入5):";
  8.      cin>>x;
  9.      cout<<x<<"階層運算的結果值為"<<calcu(x)<<endl;
  10.      system("pause");
  11.      return 0;
  12. }
  13. int calcu(int x)
  14. {
  15.      if(x==1)
  16.      {
  17.          return x;
  18.      }else
  19.      {
  20.          return x*calcu(x-1);
  21.      }
  22. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2