當前位置:學者齋 >

計算機 >計算機三級 >

2017年計算機三級數據庫機試編寫函數題及參考答案

2017年計算機三級數據庫機試編寫函數題及參考答案

同學們在備考計算機三級考試過程中,要有針對性地複習。下面是小編分享的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;

}

}

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-mo/jsj/sanji/ej3pq9.html