2003 年初級程序員下午試題內容簡介
003 年初級程序員下午試題
試題一
閱讀下列說明和流程圖l將應填入__(n)__處的字句寫在答題紙的對應欄內。
[說明]
流程圖1描述了自然數1到N(N≥1)之和的計算步驟。
[流程圖1]
·完善流程圖1。(a)處應是__(l)__;(b)處應是__(2)__。
·為了使流程圖1能計算1'+2'+…+N2,應將c框改成__(3)__。
·如果輸入的N是奇數,為了使流程圖1能計算
1+3+5+…+(2k-1)+·…+N (1≤k≤(N+1)/2)
應將d框改成__(4)__。
·如果流程圖1中c框的內容改為“S+I*(I+1)→S”,則流程圖1實現__(5)__計算。
從下列的2 道試題(試題二至試題三)中任選 1 道解答。如果解答的試題數超過 1 道,則題號小的 1 道解答有效。
|
試題二
閱讀下列函數說明和C代碼,將應填入__(n)__處的字句寫在答題紙的對應欄內。
[函數2.1說明]
函數voidprintd(int n)的功能是將整數n轉換為字符串並輸出。轉換的方法是從低位到高位依次取得整數n的各位數值,將其轉換成數字字符後存入字符數組s中,然後輸出。
[函數2.1]
void printd(int n)
{ char s[lO]; int i;
if (n < O) {
putchar('-'); n = -n;
}
i=9;
s[i] = '\0';
do s[--i] = __(l)__ + '0';
while((n /= 10) > 0);
printf('%s\n', __(2)__);
..............................