2017年計算機三級資料庫機試編寫函式題及參考答案
- 計算機三級
- 關注:3.04W次
同學們在備考計算機三級考試過程中,要有針對性地複習。下面是小編分享的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-tw/jsj/sanji/ej3pq9.html