廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 8646 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
高應大一年級
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 如何把 雙成 for 迴圈寫成遞迴的方式?[已解決]

如題!

我寫一段雙成 FOR 迴圈,那如何把 FOR 迴圈變成遞迴的方式寫??

我只會單 for 迴圈寫成遞迴的方式而已,但雙成 for 就不知道該怎寫了!!

可以教我嘛??順便解釋一下,謝謝  
*****這是用for 寫的********
int main()
{
     int a,b,c,n;

     cout<<"輸出99乘法表:"<<endl;

     for(n=1;n<10;n++)
     {
           for(a=1;a<10;a++)
           {
        ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被高應大一年級在2008-12-13 18:47重新編輯 ]




獻花 x0 回到頂端 [樓 主] From:臺灣固網股份有限公司 | Posted:2008-12-11 00:03 |
leacks 手機
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x8 鮮花 x324
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

一般式遞回改FOR
為啥你要FOR改遞回?


獻花 x0 回到頂端 [1 樓] From:臺灣基礎科技網絡 | Posted:2008-12-11 07:55 |
高應大一年級
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

表情

因為....我想了解是如何改的!!

我雙成都寫不出來.只會單成 表情


可以麻煩一下嘛^^


獻花 x0 回到頂端 [2 樓] From:臺灣固網股份有限公司 | Posted:2008-12-11 12:52 |
teldeanmac85 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x21
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

複製程式
#include <stdio.h> 
void testFunc(int i, int j);

int main(int argc, char* argv[])
{
       testFunc(1, 1); 

       return 0;
}

void testFunc(int i, int j) 
{ 
       printf("%2d*%2d=%2d", i, j, i*j); 
       
       if (j==9){ 
              j=1; 
              i++; 
              printf("\n"); 
       } 
       else{ 
              j++;
       }
       
       if (i>9){ 
              return; 
       }
       else{ 
              testFunc(i, j); 
       }
}
--
VC 6.0

寫法其實有很多   看自己怎麼用

此文章被評分,最近評分記錄
財富:50 (by 三仙) | 理由: 因為您的參與,讓程式設計更容易!!


獻花 x0 回到頂端 [3 樓] From:局域網對方和您在同一內部網 | Posted:2008-12-12 08:33 |
高應大一年級
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

......... 可以用 cout 的方式寫麻 表情

我 看不懂 printf..

表情

可以順便解釋遞迴是怎處理麻??

解釋是如何改的!?? 


[ 此文章被高應大一年級在2008-12-12 15:38重新編輯 ]


獻花 x0 回到頂端 [4 樓] From:臺灣固網股份有限公司 | Posted:2008-12-12 12:46 |
Lenki
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x10
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

printf,需要#include <stdio.h>
cout<<,需要#include <iostream.h>

二者的功能都是將資料輸出
printf:
語法→printf(const char*,... )
      使用printf()時要指定整數、浮點數、字元等進行顯示,則要配合格式指定字(format specifier)
      %c 以字元方式輸出
      %d 10 進位整數輸出
      %f 浮點數輸出
      %s 字串輸出
      其它格式請參閱:printf

cout:
語法→cout << 變數、數值或字串1 << 變數2、數值2或字串2 << ... << 變數n、數值n或字串 n;
      可利用 '\n' 或 endl 函數控制跳行
      cout 因為多載 << 運算符,所以不管你傳入什麼型別都會自動轉型成 string
      cout 可以將字串先寫入緩沖區,待輸入 cout.flush() 或 <<"\n";才將字串輸出。在顯示器上較難看出效果,但是在寫入文件時可以輸出一定的大小之後再執行寫入的動作,以減少碟碟的讀寫次數,以維持執行效能。


因為三樓的 teldeanmac85 己經寫的很完整了,我直接 copy 他的來改成 cout 給你參考

複製程式
/*九九乘法表 */
#include <iostream> 

using namespace std; 

void testFunc(int i, int j);//定義函數原型 

int main() 
{
testFunc(1,1);//乎叫 testFunc
system("pause"); 
} 

void testFunc(int i,int j)
{    
     cout.width(2); //設定輸出字寬,輸出前都要重新設定 
     cout<<i<<"*";
     cout.width(2); 
     cout<<j<<"=";
     cout.width(2);
     cout<<i*j; 
     
     if (j==9) cout<<"\n"; //換行,也可以是 cout<<endl; 
     i+=j/9;   //i+ (j除9的商數) 
     j%=9;     //j= (j除9的餘數) 
     j++;      //j=j+1
     
     if (i<=9) testFunc(i, j); //i小於或等於9時再呼叫一次目前的 testFunc 
     return; //當i大於9時退出 testfunc 
}

當程式執行至
if (i<=9) testFunc(i, j);
就是呼叫自己遞迴了。

另外以下三行寫法是故意這樣寫的
  i+=j/9;   //i+ (j除9的商數)
  j%=9;   //j= (j除9的餘數)
  j++;     //j=j+1
目前這個遞迴是傳入二個值 i 、j 印出 九九乘法表
使用上面三行的類似作法可以改寫成傳入 0~80 印出九九乘法表喔!
有興趣的可以試寫看看。
表情

此文章被評分,最近評分記錄
財富:50 (by 三仙) | 理由: 因為您的參與,讓程式設計更容易!!


獻花 x0 回到頂端 [5 樓] From:臺灣中華 | Posted:2008-12-13 02:54 |
高應大一年級
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

謝謝 Lenki 的解釋!!

也感謝teldeanmac85 的提供!

辛苦了 表情



[數位]有你們真好!!
就甘心耶 表情


獻花 x0 回到頂端 [6 樓] From:臺灣固網股份有限公司 | Posted:2008-12-13 18:43 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.103131 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言