English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

以C語言寫出
將 6、20、14、5輸入~
print出 5、14、20、6~
後面麻煩幫我註解~我是新手~

2006-10-05 13:48:42 · 5 個解答 · 發問者 willy 1 in 電腦與網際網路 程式設計

使用~遞回~寫法

2006-10-05 13:49:32 · update #1

5 個解答

#include
#include
#define MAXSTACK 5 /*堆疊容量最大值為5*/

int stack[MAXSTACK];
int top = -1; /*堆疊的Top*/

extern int isStackEmpty(); /*檢查堆疊內數目有無*/
extern int push(int d); /*將資料堆疊,若超過容量回傳0*/
extern int pop(); /*從堆疊中取出資料*/
int isStackEmpty() /*檢查堆疊是否是空的*/
{
if ( top == -1 ) return 1; /*如果為空回傳1*/
else return 0; /*不是空的回傳0*/
}
int push(int d) /*將資料存入並堆疊*/
{
if ( top >= MAXSTACK ) /*檢查是否超過最大值*/
{
printf("堆疊內容全滿\n");
return 0;
}
else
{
stack[++top] = d; /*將資料存入堆疊*/
return 1;
}}
int pop() /*從堆疊中取出資料*/
{
if ( isStackEmpty() ) /*查堆疊內數目有無*/
return -1;
else
return stack[top--]; /*從堆疊中輸出資料*/
}
int main() /*主程式*/
{
int data[4] = {6, 20, 14, 5}; /*宣告變數為6,20,14,5*/
int i;
printf("存入資料順序: ");
for ( i = 0; i < 4; i++) /*使用回圈將資料存入*/
{
push(data[i]);
printf("[%d]", data[i]);
}

printf("\n輸出資料順序: ");
while ( !isStackEmpty() ) /*從堆疊中輸出資料*/
printf("[%d]", pop());

printf("\n");
system("PAUSE");
}

2006-10-11 12:21:02 · answer #1 · answered by 拯救地球的超人 1 · 0 0

Danny , 你回答的那題 , 是自問自答的 ..,你可以看那個人的回答紀錄,僅兩題c++ , 發問者又剛好同一人

2006-10-13 06:58:24 · answer #2 · answered by ? 6 · 0 0

我的程式碼 http://phpfi.com/160558,或是你看底下的

#include
void R();

void main()
{
 printf("Please input -1 to Exit.\n");
 R(); // call recursive function
}

void R()
{
 int i;

 printf("Please input a number = ");
 scanf("%d", &i);

 if(i != -1) {
  R(); // 如果輸入的不是 -1, 就一直 call 下去, 而當遞迴函式返回時, 將 i 印出
  printf("%d\n", i);
 }
}

預設當輸入 -1 時代表停止輸入 :p
希望有幫助到你,有不懂的地方再問囉 !

2006-10-05 23:39:45 補充:
好常見的一本書, 只不過不喜歡那本就是了,
雖然學校教科書用那本...

2006-10-11 17:50:10 補充:
唉, 寫了這麼漂亮的解法沒人欣賞...
卻來個不是遞迴版的得獎 = =

2006-10-05 19:38:50 · answer #3 · answered by 榮章 4 · 0 0

C 程式設計藝術?
螞蟻書(學校課本)???

2006-10-05 14:42:42 · answer #4 · answered by Big_John-tw 7 · 0 0

早期寫「遞回」會用「link list」來做質的儲存方式(資料結構),
不過也可以用 array 的方式當資料結構(依需求而定,但不建議使用)。
寫「遞回」和「link list」是屬於大學二年級會上到的課。
對於非本科系的新手想學程式語言的話,建議你買這本書回家用功。
http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchViewAction.do?isbn=9572144278&sid=20841
台北重慶南路的天瓏書局有在賣這個作者的一系列書。

2006-10-05 18:12:25 補充:
真糟糕!網址被截掉了!這是剛剛的書名資料。
另外吳國樑是翻譯,不是原作者。

書名: C 程式設計藝術 (C How to Program, 4/e) by 吳國樑

ISBN : 9572144278
出版商 : CH
出版日期 : 2004-05-01
上架日期 : 2004-05-01
頁數 : 1210
美金 : 0.0
定價 : 780 , 售價 : 702

2006-10-05 14:08:50 · answer #5 · answered by 宏瑋 3 · 0 0

fedest.com, questions and answers