考生們在備考計算機三級考試過程中,要有目的性地進行備考。下面是小編分享的2017年計算機等級考試三級資料庫上機模擬練習題,歡迎大家練習!
1.函式Rdata()實現從檔案中讀取一篇英文文章存入到字串陣列string中,請編寫ConvertCharD()函式,其功能是:以行為單位把字串中的所有小寫字母改寫成該字母的上一個字母,如果是字母a,則改寫成字母z。大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字元不變,最後把已處理的字串仍按行重新存入字串陣列string中。最後呼叫函式Wdata(),把結果string輸出到檔案中。
例如,原文:a
結果:z
原始資料檔案存放的格式是:每行的寬度均小於80個字元。
【答案】
void ConvertCharD(void)
{ int i;
char *pf;
for (i=0; i<maxline; p="" i++)<="">
{ pf = string[i];
while (*pf)
{ if (*pf == 'a')
*pf = 'z';
else if (*pf>='b' && *pf<='z')
*pf -= 1;
pf++;
}
}
}
2.請編寫函式countValue(),它的功能是:求出1~1000之內能被7或11整除但不能同時被7或11整除的所有整數,將它們放在陣列a中,並通過n返回這些數的個數。主函式最後呼叫函式Wdata()把計算結果輸出到中。
【答案】
void countValue(int *a, int *n)
{ int i;
*n = 0;
for (i=1; i<=1000; i++)
if (i%7==0 && i)
{ *a = i;
*n = *n+1;
a++;
}
else if (i%7 && i==0)
{ *a = i;
*n = *n+1;
a++;
}
}
3.已知資料檔案中存有300個四位數,並已呼叫讀函式Rdata()把這些數存入陣列a中,請編寫函式primeCal(),其功能是:求出這些四位數中素數的個數count,再求出所有滿足此條件的'四位數的平均值Ave1以及不滿足此條件的四位數的平均值Ave2。最後呼叫寫函式Wdata(),把結果count、Ave1、Ave2輸出到檔案中。
例如,5591是素數,則該數滿足條件計算平均值Ave1,且個數count=count+1。9812是非素數,則該數不滿足條件計算平均值Ave2。
【答案】
void primeCal()
{ int i;
for (i=0; i<300; i++)
if (isP(a[i]))
{ Ave1 += a[i];
count++;
}
else
{ Ave2 += a[i];
}
Ave1 = Ave1/count;
Ave2 = Ave2/(300-count);
}