看板 FJU-Stat94B 關於我們 聯絡資訊
昨天看迴龜頭很暈 早上四點多才睡 睡到十點多才去上課 = = 然後搞了半天才知道今天在幹嘛... 整個沒進入狀況 在臻臻李泰明化之下...我猜也沒啥人知道吧= = 好吧後來總算知道了 阿明明不難的東西被講的那麼難... 就是叫你做一個堆疊可以自己操作 把東西放進去或是拿出來或是列出現在堆疊裡面有哪些東西 #include <stdio.h> #include <stdlib.h> #include <conio.h> void show_message(void); //宣告四個副程式 void push(void); void pop(void); void list(void); int MAX=10; int A[10]; int TOP=-1; int main (void) { char option; //定義option這個變數型態為字元 while(1) //永遠為真 { printf(" (1) show personal information \n"); printf(" (2) push \n"); printf(" (3) pop \n"); printf(" (4) list \n"); printf("Please enter your choice............."); option = getche(); //option這個變數的值就是你輸入的 switch(option) //getche()是輸入函數 { case '1': //這邊用switch判斷式,輸入1234的時候 show_message(); //分別做什麼事情 break; //輸入1的時候呼叫show_message()這個副程式 case '2': //出來工作,做完之後break,回到while(1) push(); //同理輸入2的時候呼叫push()這個副程式出來 break; //以下略 case '3': pop(); break; case '4': printf("\n"); list(); break; } } system("PAUSE"); return 0; } //以上是主程式 //以下是寫副程式,當你在前面呼叫某個副程式的時候 //他就會來這邊看那個副程式是在做什麼,然後去執行 void show_message(void) //選項1,秀出基本資料,這不用講 { printf("\n\n*** 統資三乙 ***\n"); printf("*** 494762070***\n"); printf("*** 胡崴榯 ****\n\n"); } void push(void) //選項2,把東西放到堆疊裡面 { if(TOP>=(MAX-1)) //先判斷堆疊是不是滿了,滿了就不能再放東西進去 printf("\nfull\n");//顯示full else //沒滿的話,變數TOP遞增,TOP的初始值是-1,就變成0 TOP++; //所以A[TOP]=A[0]=你輸入的值放進去 printf("\nplease enter an item to stack:"); scanf("%d",&A[TOP]); //你輸入2的話就是A[0]=2 } // ^^^^^^^ 輸入的值放到A[TOP] void pop(void) //從堆疊裡面取出東西,後進先出LastInFirstOut,會計有學XD { if(TOP<0) //先判斷,如果TOP<0,表示堆疊是空的,沒東西拿了 printf("\nempty\n"); //(因為初始值是-1) else //不是空的話 printf("\npop %d from stack\n\n",A[TOP]); //A[TOP]的值被砍掉 TOP--; //那TOP就遞減 } void list(void) //選項4,把堆疊中的東東秀出來 { for(int i=0;i<=TOP;i++) //用for迴圈,從A[0]印到A[TOP] { // ^^^ TOP是多少 printf("A[%d]=%d\n",i,A[i]); //看你前面的操作而定 } -- 霞乃雲魄魂蜂是花精神 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.148.6
XdynamicX:大哥太MAN了 10/24 17:52
GAIEGAIE:大哥開班授課吧 10/24 19:49
ketou:高手 10/24 20:34
kissycutie:拍手。是神人耶 10/24 23:40
XdynamicX:謹受小弟一拜並送上束脩,願胡老師能開班授課。 10/25 00:21
XdynamicX:到底是哪個頭很暈??? 10/26 00:17