課程名稱:程式設計
課程性質︰選修
課程教師︰陳光華
開課學院:文學院
開課系所︰圖資系
考試日期(年月日)︰2010/11/08
考試時限(分鐘):3節課
是否需發放獎勵金:是
Part I
一、填充題(35%)
1. 下列是哪些有效的識別字: ________(4%)
A. a pencil B. Y2K C. 2cats D. pentuium3 E. news# F. _AMD G. -num
2.結構化的程式三計包含三種結構: (6%)
______________、____________、______________
3.以下程式碼片段,假設完整程式碼可以正常編譯與執行,請問輸出結果為何?(25%)
a.
int i = 0;
printf("i=%d\n",i++);
printf("i=%d\n",++i);
b.
int i = 0;
for (i=1 ; i<5 ; i++){
if (i%2==0)
continue;
printf("i=%d\n",i);
}
c.
int i = 0;
for (i=1 ; i<5 ; i++){
if (i%2==0)
break;
printf("i=%d\n",i);
}
d.
int x = 0;
if (x=0)
printf("x=0\n");
if (x=-1)
printf("x=-1\n");
e.
float num = 3.67F
printf("i=%d\n",(int)num*100);
二、簡答題
1.給定程式碼:
int m,n;
scanf("%d %d",%m,%n);
printf("%d is max.",MAX(m,n)); //輸出最大的數
請寫出MAX的完整巨集(macros)宣告.(5%)
2.給定程式碼:
short num = 40000;
printf("%d\n",num>30000?1:0);
輸出結果為何? (5%) 並說明原因。(5%)
PART II
三、實作題(50%)
1.梅森尼質數(Mersenne primes)(30%)
如果質數滿足2^p-1(p為正整數)的話,則該質數稱為梅森尼質數(Mersenne primes)
。例如,7是梅森尼質數,因為p=3時,2^3-1=7。另外,11就不是梅森尼質數,因為我們
找不到一個整數p,使得2^p-1=11。請撰寫程式碼,找出前7個梅森尼質數。
2.找錢(20%)
I. 畫面出現提示,請使用者輸入2個正整數和1個字元。第一個數代表商品金額,第二個
數代表支付金額,第三個字元是會員等級。
會員共有9種: A,B,C,D,E,F,G,H,I,再細分為3個等級:A-B可享7折優惠;C-E為8折;
F-I則是9折。
II.輸出找的零錢。必須依序顯示500元張數、100元張數、以及50、10、5、1的硬幣數。
由於顧客不想拿太多硬幣鈔票,所以可以找500元時,就不能給5張100元或是可以找
5元硬幣時,就不能給5個1元硬幣。
如果沒有找的錢幣種類,則輸出0。例如找54元時,是給50元1個,1元4個,所以輸出
為 0 0 0 1 0 4。
III. 僅須考慮交易金額不超過1000,商品金額不超過1000的情形。使用者輸入也必為
正整數。
範例輸入 1 :50 1000 A 範例輸出1: 1 4 1 1 1 0
範例輸入 2: 400 900 D 範例輸出2: 1 0 1 3 0 0
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.180.107