1 / 8

HKCEE Paper II Q1b

HKCEE Paper II Q1b. (b) 下圖顯示以一表來貯存一正數 鏈表 {n1,n2,n3,n4,n5,n6,n7} 的方法。. (i) 下列各項有什麼目的? -999 -888. 鏈表開頭 list head. 鏈表結尾. (ii) 就下列各 獨立 情況,在各空格填上 正確數字 , 以示 更新 後的鏈表如何在表中貯存。. HKCEE Paper II Q2 NDATE 是一程序,此程序接受 1993 年的一個日期,然後把該日期的 n 日後的日期輸出,其中 n 是小於 365 的正整數。(注意: 1993 及 1994 年二月份均有 28 日。).

abena
Télécharger la présentation

HKCEE Paper II Q1b

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HKCEE Paper II Q1b (b) 下圖顯示以一表來貯存一正數鏈表{n1,n2,n3,n4,n5,n6,n7} 的方法。 (i) 下列各項有什麼目的? -999 -888 鏈表開頭 list head 鏈表結尾

  2. (ii) 就下列各獨立情況,在各空格填上正確數字, 以示更新後的鏈表如何在表中貯存。

  3. HKCEE Paper II Q2 NDATE是一程序,此程序接受1993年的一個日期,然後把該日期的n日後的日期輸出,其中n是小於365的正整數。(注意:1993及1994年二月份均有28日。)

  4. N = 0,1,…,6個顧客 1,2,…,M 行列 A B Q3 上圖表示一間小型超級市場。 框A是貨品陳列地點,B是出納員。 這超級市場僱一位出納員, 顧客須排單行輪候付款。 假設下列三個觀察是正確的:

  5. 現要編寫一個程序,用來模擬此超級市場內的輪候情況。這程序印出每個時間單元完結時行內顧客的數目,如下列輸出樣本所示:現要編寫一個程序,用來模擬此超級市場內的輪候情況。這程序印出每個時間單元完結時行內顧客的數目,如下列輸出樣本所示: 當行列內顧客的數目在連續的兩個時間單元均為零,或已過了2 000個時間單元時,程序便會自動終止。 這程序包括子程序 tUnit、cusGen及serve。程序的基本結構如下所示:

  6. void tUnit(){ } 試以C編寫程序的下列各部分: (a) 子程序tUNIT,此子程序包含10 000次空循環,用來模擬一個時間單元的消逝: // _sleep(1000) ; for (i=0; i<10000; i++) ; int cusGen (){ } (b) 子程序cusGEN,此子程序產生一個0與6間 (包括0及6)的隨機整數, 然後將行列內顧客的數目加上該數,並傳回: return (rand()%7) ; 子程序serve,此子程序根據觀察II把行列內顧客的數目減 0、1、2或3。 int serve (int num){ } if (num>=5) return(3); else if (num>=2) return(2); else if (num==1) return(1); if (pnum>=5) return(3); if (pnum>=2) and (pnum<5) return(2); if (pnum ==1) return(1);

  7. 主程序 main(){ int m, y, t; * m = 行列內顧客的數目(現在) */ /* y = 計數器 */ /* t = 行列內顧客的數目(之前) */ srand(time(NULL)); m=t=y=0; printf ("時間單元 y顧客數目m\n"); do{ // random# 0-6 // _sleep(1000); printf ("%i\t%i\n", y, m); }while ( ); } t = m; m = m+cusGen(); m = m-serve(m); tUnit(); y++; y<2000 && !(t==0 && m==0)

More Related