[問題] 遞迴問題
基本C程式語言沒學好,去學資料結構有點崩潰,
看到我下面的敘述大概就會了解....我目前有點鳥
還請各位給小弟一些指點
目前在教遞迴,老師要我們使用遞迴的程式 計算像是+1+*23*45的式子
這個式子就是1+(2*3+4*5)的意思
就是只要抓到運算子就往後面抓兩個運算元做運算傳回
又遇到運算子就在往後抓兩的運算元做運算傳回
遞迴下去
老師提示加上自己想的程式碼大概是
int F( ) /使用遞迴的主要函數/
{
if(x=數字){
return 數字
}
else{ if (x="+")
if(x="-")
if (x="*")
}
}
int main ()
{
printf ("%d\n,F());
.
.
.
真的不知道該怎麼做,已經卡很久了,還請各位幫忙了,謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.136.37
※ 編輯: a26573633 來自: 140.114.136.37 (10/04 11:31)
→
10/04 11:41, , 1F
10/04 11:41, 1F
→
10/04 11:54, , 2F
10/04 11:54, 2F
→
10/04 11:54, , 3F
10/04 11:54, 3F
→
10/04 11:57, , 4F
10/04 11:57, 4F
→
10/04 11:59, , 5F
10/04 11:59, 5F
→
10/04 11:59, , 6F
10/04 11:59, 6F
推
10/04 12:06, , 7F
10/04 12:06, 7F
→
10/04 12:06, , 8F
10/04 12:06, 8F
→
10/04 12:07, , 9F
10/04 12:07, 9F
→
10/04 13:22, , 10F
10/04 13:22, 10F
int F(int x)
if (x==0) return 5 ; EX: x=3
return F(x-1) + 2 ; F(3)=F(2)+2
F(2)=F(1)+2
F(1)=F(0)+2
F(0)=5
這樣對嗎??
※ 編輯: a26573633 來自: 140.114.136.37 (10/04 13:39)
→
10/04 13:45, , 11F
10/04 13:45, 11F
想了很久,還在想= =,像是上面這一題,x代一個數字就
直接進F(x)去跑,遞迴F(x-1),,,繼續跑,但如果是像
+1+*23*45這種,要如何進入F()函數,一樣F(int x)?
是不是我C哪裡漏學了.....還是腦袋瓜卡住了
→
10/04 13:45, , 12F
10/04 13:45, 12F
推
10/04 13:51, , 13F
10/04 13:51, 13F
→
10/04 13:52, , 14F
10/04 13:52, 14F
推
10/04 14:12, , 15F
10/04 14:12, 15F
QQ
→
10/04 14:33, , 16F
10/04 14:33, 16F
→
10/04 14:40, , 17F
10/04 14:40, 17F
真是謝謝了 我去試試看 所以要使用字元陣列和指標?!
※ 編輯: a26573633 來自: 140.114.136.37 (10/04 15:15)
→
10/04 16:22, , 18F
10/04 16:22, 18F
→
10/04 16:22, , 19F
10/04 16:22, 19F
推
10/04 16:30, , 20F
10/04 16:30, 20F
哈哈 不會是同學吧@@
→
10/04 19:53, , 21F
10/04 19:53, 21F
→
10/04 21:55, , 22F
10/04 21:55, 22F
謝謝版主~~ 感覺好難阿= =
[1;37m推 EdisonX:推版主的 :) 10/05 00:46
※ 編輯: a26573633 來自: 111.251.218.237 (10/05 15:50)
討論串 (同標題文章)