全國等級考試計算機四級機試試題及答案
13./* 請編寫乙個函式changestr(char *s),函式的功能是把s串中所有的字母改寫成該字母的下乙個字母,字母z改寫成字母a。大寫仍為大寫字母,小寫字母仍為小寫字母,其它的字元不變。函式readwrite()實現從檔案in2.dat中讀取兩個字串,並呼叫函式changestr(),最後把結果輸出到檔案out2.dat中。
注意:部分源程式存在檔案prog1.c中。請勿改動主函式main()和其它函式中的任何內容,僅在函式changestr()的花括號中填入你編寫的若干語名。*/
#include
#include
#include
#include
#define n 81
changestr ( char *s )
main( )
char a[n] ;
clrscr( ) ;
printf ( 「enter a string : 」 ) ; gets ( a ) ;
printf ( 「the original string is : 」 ) ; puts( a ) ;
changestr ( a ) ;
printf ( 「the string after modified : 」) ;
puts ( a ) ;
readwrite( ) ;
readwrite( )
int i ;
char a[n] ;
file *rf, *wf ;
rf = fopen(「in2.dat」, 「r」) ;
wf = fopen(「out2.dat」, 「w」) ;
for(i = 0 ; i 《 10 ; i++) {
fscanf(rf, 「%s」, a) ;
changestr(a) ;
fprintf(wf, 「%s
」, a) ;
fclose(rf) ;
fclose(wf) ;
14./* 程式prog1.c的功能是:利用以下所示的簡單迭代方法求方程:
cos(x)-x=0的乙個實根。
xn+1=cos(xn)
迭代步驟如下:
(1) 取x1初步值為0.0;
(2) x0=x1,把x1,把x1的值賦給x0;
(3) x1=cos(x0),求出乙個新的x1;
(4) 若x0-x1的絕對值小於0.000001,執行步驟(5),否則執行步驟(2);
(5) 所求x1就是方程cos(x)-x=0的乙個實根,作為函式值返回。
請編寫函式countvalue()實現程式的要求,最後呼叫函式writedat()把結果輸出到檔案out4.dat中。
注意:部分源程式存在檔案prog1.c中,請勿改動主函式main()和輸出資料函式writedat()的內容。 */
#include
#include
#include
float countvalue()
main()
clrscr();
printf(「實根=%f
」, countvalue());
printf(「 %f
」,cos(countvalue())-countvalue());
writedat();
writedat()
file *wf ;
wf=fopen(「out4.dat」,「w」) ;
fprintf(wf, 「%f
」, countvalue()) ;
fclose(wf) ;
15./* 已知在檔案in.dat中存有若干個(個數《200)四位數字的正整數,函式readdat()讀取這些正整數並存入陣列xx中。請編制函式calvalue()其功能要求是:
1.求出這個檔案中共有多少個正整數totnum;2.求出這些數中的各位數字之和是奇數的數的個數totcnt,以及不滿足此條件的所有數的算術平均值totpjz,最後呼叫函式writedat()把所求的結果輸出到檔案out8.dat中。
注意:部分源程式存放在prog1.c中。
請勿改動主函式main(),讀資料函式readdat()和輸出資料函式writedat()的內容。 */
#include
#include
#define maxnum 200
int xx[maxnum] ;
int totnum = 0 ; /* 檔案in.dat中共有多少個正整數 */
int totcnt = 0 ; /* 符合條件的正整數的個數 */
double totpjz = 0.0 ; /* 平均值 */
int readdat(void) ;
void writedat(void) ;
void calvalue(void)
void main()
clrscr() ;
if(readdat()) {
printf(「資料檔案in.dat不能開啟! 07
」) ;
return ;
calvalue() ;
printf(「檔案in.dat中共有正整數=%d個
」, totnum) ;
printf(「符合條件的正整數的個數=%d個
」, totcnt) ;
printf(「平均值=%.2lf
」, totpjz) ;
writedat() ;
int readdat(void)
file *fp ;
int i = 0 ;
if((fp = fopen(「in.dat」, 「r」)) == null) return 1 ;
while(!feof(fp)) {
fscanf(fp, 「%d,」, &xx[i++]) ;
fclose(fp) ;
return 0 ;
void writedat(void)
file *fp ;
fp = fopen(「out8.dat」, 「w」) ;
fprintf(fp, 「%d
%d%.2lf
」, totnum, totcnt, totpjz) ;
fclose(fp) ;
16./* 編寫乙個函式findstr(),該函式統計乙個長度為2的子字串在另乙個字串**現的次數。例如,假定輸入的字串為「asd asasdfg asd as zx67 asd mklo」,子字串為「as」,則輸出6。 函式readwrite()實現從檔案in1.dat中讀取兩個字串,並呼叫函式findstr(),最後把結果輸出到檔案out1.dat中。
注意:部分源程式存在檔案prog1.c中。請勿改動主函式main()和其它函式中的任何內容,僅在函式findstr()的花括號中填入你編寫的若干語句。*/
#include
#include
#include
int findstr(char *str,char *substr)
main()
char str[81], substr[3] ;
int n ;
clrscr() ;
gets(str) ;
gets(substr) ;
puts(str) ;
puts(substr) ;
n=findstr(str, substr) ;
printf(「n=%d
」, n) ;
readwrite() ;
readwrite()
char str[81], substr[3], ch;
int n, len, i = 0;
file *rf, *wf ;
rf = fopen(「in1.dat」, 「r」) ;
wf = fopen(「out1.dat」, 「w」) ;
while(i 《 5) {
fgets(str, 80, rf) ;
fgets(substr, 10, rf) ;
len = strlen(substr) - 1 ;
ch = substr[len] ;
if(ch == 』
』 || ch == 0x1a) substr[len] = 0 ;
n=findstr(str, substr);
fprintf(wf, 「%d
」, n) ;
i++ ;
fclose(rf) ;
fclose(wf) ;
17./* 請編寫函式void countvalue(int *a,int *n),它的功能是:求出1到1000之內能被7或11整除但不能同時被7和11整除的所有整數,並放在陣列a中,然後通過n返回這些數的個數。
注意:部分源程式存入在prog1.c中。
請改動主函式main()和輸入輸出資料函式writedat()的內容。*/
#include
int cnt, sum ;
void countvalue()
void main()
cnt = sum = 0 ;
countvalue() ;
printf(「素數的個數=%d
」, cnt) ;
printf(「滿足條件素數值的和=%d」, sum) ;
writedat() ;
writedat()
file *fp ;
fp = fopen(「out6.dat」, 「w」) ;
fprintf(fp, 「%d
%d」, cnt, sum) ;
fclose(fp) ;
全國計算機等級四級考試筆試試題 四
第 31 32 題基於已知下列資訊 資料庫關係模式r a,b,c,d,e 有下列函式依賴 a bc d ec d 31 下述對r的分解中,哪乙個 或哪些 分解可儲存r所有的函式依賴關係 2分 a b c c d e a b c d e a 均不是 b 只有 c 只有 d 和 32 下述對r的分解中,...
全國計算機等級四級考試筆試試題 一
一 選擇題 共90題,分為1分題和2分題,滿分120分。除標註2分題外,其它均為1分題。1 若或非門的輸入變數為a和b,輸出變數為y,則a和b分別為下述哪一種情況時,y才為1 a 1,0 b 0,1 c 0,0 d 1,1 2 已知暫存器a存有帶符號整數且只作算術移位,ha和la分別代表其最高位和最...
全國計算機等級考試四級筆試試題 一 3
26 sql語言的資料操縱語句包括 select,insert,update和delete等。其中,最重要的,也是使用最頻繁的語句是 a select b insert c update d delete 27 查詢語言sql與c語言處理記錄的方式是不同的。乙個sql語句原則上一次生成或處理一組記錄...