當前位置:才華齋>計算機>計算機三級>

2017年計算機三級資料庫機試編寫函式題及參考答案

計算機三級 閱讀(3.22W)

同學們在備考計算機三級考試過程中,要有針對性地複習。下面是小編分享的2017年計算機三級資料庫機試編寫函式題及參考答案,歡迎大家練習!

2017年計算機三級資料庫機試編寫函式題及參考答案

1.已知資料檔案中存有300個四位數,並已呼叫讀函式Rdata()把這些數存入陣列a中,請編寫函式primeNum(),其功能是:求出所有這些四位數中素數的個數count,再把所有滿足此條件的四位數依次存入陣列b中,然後對陣列b的四位數按從小到大的順序進行排序。最後呼叫寫函式Wdata(),把結果輸出到檔案中。

例如,5591是素數,則該數滿足條件存入陣列b中,且個數count=count+1。9812是非素數,則該數不滿足條件,不存入陣列b中,count值也不加1。

【答案】

void primeNum()

{ int j, i, value;

for (i=0; i<300; i++)

if (isP(a[i]))

{ b[count] = a[i];

count++;

}

for (i=0; i<count-1; p="" i++)<="">

for (j=i+1; j<count; p="" j++)<="">

if (b[i] > b[j])

{ value = b[i];

b[i] = b[j];

b[j] = value;

}

}

2.下列程式的功能是:把s字串中的.所有字元左移一個位置,字串中的第一個字元移到最後。請編寫函式change(char*s)實現程式要求,最後呼叫函式readwriteDAT()從檔案中讀取50組資料,分別得出結果,且把結果輸出到檔案中。

例如,s字串中原有內容為:Mn.123xyZ,呼叫該函式後結果為:n.123xyZM。

【答案】

void change(char*s)

{ int i, strl;

char ch;

strl = strlen(s);

ch = *s;

for (i=0; i<strl-1; p="" i++)<="">

*(s+i) = *(s+i+1);

*(s+strl-1) = ch;

}

3.下列程式的功能是:找出所有100以內(含100)滿足i、i+4、i+10都是素數的整數i(i+10也在100以內)的個數count以及這些i之和sum。請編寫函式primeNum()實現程式要求的功能,最後呼叫函式writeDat(),把結果count和sum輸出到檔案中。

【答案】

void primeNum()

{ int i;

for(i=2;i<=90;i++)

if(isPrime(i) && isPrime(i+4) && isPrime(i+10))

{ count++;

sum+=i;

}

}