1. 程式人生 > >思考專案 求1+2的2次方+3的3次方+4的4次方+5的5次方+6的6次方的值。(異種迴圈巢狀)

思考專案 求1+2的2次方+3的3次方+4的4次方+5的5次方+6的6次方的值。(異種迴圈巢狀)

  1. /*  
  2.  * Copyright (c) 2014, 煙臺大學計算機學院  
  3.  * All rights reserved.  
  4.  * 檔名稱:test.cpp  
  5.  * 作    者:劉暢   
  6.  * 完成日期:2014年 10 月 22 日  
  7.  * 版 本 號:v1.0  
  8.  *  
  9.  * 問題描述:求s=1+2^2+3^3+4^4+5^5+6^6的值;
  10. * 輸入描述: 輸入一個n,一個j,一個t,通過迴圈求所求值;
  11.  * 程式輸出:輸出一個變數sum
  12. */
  13. #include <iostream>
    using namespace std;
    int main()
    {
        int n = 1, sum = 0, t = 1, j = 1;
        while (n <= 6)
        {
            sum = sum + t;
            n++;
            t = 1;
            do
            {
                t = t * n;
                j++;
            }
            while (j <= n);
            j = 1;
        }
        cout << "1+2的平方+3的3次方+4的4次方+5的5次方+6的6次方=" << sum << endl;
        return 0;
    }
    


  14. #include <iostream>
    using namespace std;
    int main()
    {
    	int sum = 0, n = 1, t=1, j;
    	do
    	{
    		sum = sum + t;
    		n++;
    		t = 1;
    		j=1;
    		for (j = 1; j <= n; j++)
    		t = t * n;
    	}while (n<=6);
    	cout<<"1+2的平方+3的3次方+4的4次方+5的5次方+6的6次方="<<sum<<endl;
    	return 0;
    }
    

     
  15. #include <iostream>
    using namespace std;
    int main()
    {
    	int sum = 0, n , t = 1, j ;
    	for (n = 1; n <= 6 ; )
    	{
    		sum = sum + t;
    		n++;
    		t = 1;
    		j = 1;
    		while (j <= n)
    		{
    			t = t * n;
    			j++;
    		}
    	}
    	cout<<"1+2的平方+3的3次方+4的4次方+5的5次方+6的6次方="<<sum<<endl;
    	return 0;
    }
    

     
  16. 執行結果:
  17.  
  18.  學習總結:
  19. 這個專案我著實想了三四天也毫無頭緒,賀老說不能用pow(,) ,我在想總不可能要6*6*6*6*6*6的輸進去吧,還好沒有犯傻,今天賀老給了個流程圖,沒用多久就想清楚了,哈哈哈,爽!!!      
  20. 不過還是有問題,最後那個for-while巢狀的在for後面的括號裡面不能輸入n++,不然就是錯誤的結果,大致清楚這是為何,但不知該如何改好,求大神指點!!謝了