天天看點

C++ Primer Plus 第五版 第七章 程式設計練習 5 6

  1.         //第七章程式設計練習6
  2. #include <iostream>
  3. using namespace std;
  4. const int Max=9;
  5. int Fill_Array(double *Arr,int Num);//填充數組
  6. void Show_Array(double *Arr,int Num);
  7. void Reverse_Array(double arr[],int First,int Last);
  8. void main()
  9. {
  10.     cout <<"Please Fill The Array:/n";
  11.     double Arr[Max];
  12.     int num=Fill_Array(Arr,Max);    //填充數組
  13.     Show_Array(Arr,num);            //顯示數組元素
  14.     cout <<"翻轉順序/n";
  15.     Reverse_Array(Arr,0,num);       //反轉數組所有元素
  16.     Show_Array(Arr,num);
  17.     Reverse_Array(Arr,1,num-1);     //反轉除了 第一個和最後一個元素
  18.     Show_Array(Arr,num);
  19. }
  20. int Fill_Array(double *Arr,int Num)                     //填充數組
  21. {
  22.     cout <<"/nFill_Array:/n";
  23.     if (Num==0)
  24.     {
  25.         return 0;
  26.     }
  27.     int i=0;
  28.     while (i!=Num)
  29.     {
  30.         cout <<"Fill#"<<i+1<<":";
  31.         if (!(cin>>Arr[i]))
  32.         {
  33.             break;
  34.         }
  35.         ++i;
  36.     }
  37.     return i;
  38. }
  39. void Show_Array(double *Arr,int Num)            //顯示數組
  40. {
  41.     cout <<"/nShow_Array:/n";
  42.     for (int i=0;i<Num;++i)
  43.     {
  44.         cout <<"Show#"<<i+1<<":"<<Arr[i]<<endl;;
  45.     }
  46. }
  47. void Reverse_Array(double Arr[],int First,int Last)         //反轉數組
  48. {
  49.     double tmp;
  50.     Last=Last-1;
  51.     while (First<Last)
  52.     {
  53.         tmp=Arr[First];
  54.         Arr[First]=Arr[Last];
  55.         Arr[Last]=tmp;
  56.         ++First;
  57.         --Last;
  58.     }
  59. }
  1. //遞歸計算階乘                第七章程式設計練習 5
  2. #include <iostream>
  3. using namespace std;
  4. double DiGuiJieChen(int Number);
  5. void main()
  6. {
  7.     cout <<"Please enter a number:/n";
  8.     int Number;
  9.     cout.setf(ios_base::fixed,ios_base::floatfield);
  10.     while (cin >>Number)
  11.     {
  12.         double JieChen = DiGuiJieChen(Number);
  13.         cout <<JieChen<<endl;
  14.     }
  15. }
  16. double DiGuiJieChen(int Number)
  17. {
  18.     double Num=1;
  19.     if (Number>1)
  20.     {
  21.         Num=Number* DiGuiJieChen(Number-1);
  22.     }
  23.     return Num;
  24. }