2016年3月計算機三級上機題庫及答案
1.已知數據文件中存有200個四位數, 並已調用讀函數readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是: 把千位數字和十位數字重新組成一個新的十位數ab(新十位數的十位數字是原四位數的千位數字,新十位數的個位數字是原四位數的十位數字), 以及把個位數字和百位數字組成另一個新的十位數cd (新十位數的十位數字是原四位數的個位數字,新十位數的個位數字是原四位數的百位數字), 如果新組成的兩個十位數ab-cd>=10且ab-cd<=20且兩個數均是偶數,同時兩個新數的十位數字均不為零,則將滿足此條件的四位數按從大到小的順序存入數組b中, 並要計算滿足上述條件的四位數的個數cnt。最後main()函數調用寫函數writeDat( )把結果cnt以及數組b中符合條件的四位數輸出到文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義數組: a[200], b[200], 已定義變量: cnt
請勿改動數據文件中的任何數據、主函數main()、讀函數readDat()和寫函數writeDat()的內容。
-------------------------
PROG1.C
#include
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void jsVal()
{int I,thou,hun,ten,data,j;
int ab,cd;
for(I=0;I<200;I++)
{thou=a[I]/1000; hun=a[I]%1000/100;
ten=a[I]%100/10; data=a[I]%10;
ab=10*thou+ten; cd=10*data+hun;
if ((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&ab!=0&&cd!=0)
{b[cnt]=a[I];cnt++;}
}
for(I=0;I
for(j=I+1;j
if(b[I]
{data=b[I]; b[I]=b[j];b[j]=data;}
}
void readDat()
{ int i ;
FILE *fp ;
fp = fopen("", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{ int i ;
readDat() ;
jsVal() ;
printf("滿足條件的數=%dn", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("n") ;
writeDat() ;
system("pause");
}
writeDat()
{ FILE *fp ;
int i ;
fp = fopen("", "w") ;
fprintf(fp, "%dn", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%dn", b[i]) ;
fclose(fp) ;
}
7153 8129 5795 2896 3019 7747 7607 8145 7090 4140
8626 7905 3735 9620 8714 9496 3640 5249 7671 5925
4687 2982 9387 6478 2638 2793 8298 8246 5892 9861
9110 2269 6951 9800 2439 5339 1064 9994 6762 5752
1001 1030 7989 2845 2958 3820 3010 9486 9798 4014
2783 1604 1628 6466 4101 4128 7127 3262 6332 2076
1860 5834 4580 9057 2614 7852 3789 2897 9194 6317
6276 4285 5610 6945 9137 8348 5434 9162 4303 6779
5025 5137 4630 3535 4048 2697 2438 9791 3903 3650
4899 1557 4745 2573 6288 5421 1563 9385 6545 5061
3905 1074 7840 4596 7537 5961 8327 2104 1055 8317
1282 5368 6571 5440 8274 1919 6789 4542 3570 1500
7044 9288 5302 7577 4018 4619 4922 2076 3297 5898
1699 9276 4439 2729 8725 7507 2729 6736 2566 3227
7901 2973 2353 4805 2546 3406 4824 2060 8645 5886
7549 9279 3310 5429 6344 4100 9604 1146 9234 6202
3477 1492 4800 2194 9937 1304 3454 5477 9230 5382
4064 8472 8262 6724 7219 9968 3398 4952 4130 6953
1791 4229 5432 8147 5409 4275 5091 2278 6192 4898
6808 8866 3705 3025 2929 1503 5298 2233 5483 3635
4
9288
8866
8626
3262
2.已知數據文件中存有200個四位數, 並已調用讀函數readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是: 把千位數字和十位數字重新組成一個新的十位數ab(新十位數的十位數字是原四位數的千位數字,新十位數的個位數字是原四位數的十位數字), 以及把個位數字和百位數字組成另一個新的十位數cd (新十位數的十位數字是原四位數的個位數字,新十位數的個位數字是原四位數的'百位數字), 如果新組成的兩個十位數ab-cd>=0且ab-cd<=10且兩個數均是奇數, 同時兩個新數的十位數字均不為零,則將滿足此條件的四位數按從大到小的順序存入數組b中, 並要計算滿足上述條件的四位數的個數cnt。最後main()函數調用寫函數writeDat( )把結果cnt以及數組b中符合條件的四位數輸出到文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義數組: a[200], b[200], 已定義變量: cnt
請勿改動數據文件中的任何數據、主函數main()、讀函數readDat()和寫函數writeDat()的內容。
-------------------------
PROG1.C
#include
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void jsVal()
{int I,thou,hun,ten,data,j;
int ab,cd;
for(I=0;I<200;I++)
{thou=a[I]/1000; hun=a[I]%1000/100;
ten=a[I]%100/10; data=a[I]%10;
ab=10*thou+ten; cd=10*data+hun;
if ((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&ab!=0&&cd!=0)
{b[cnt]=a[I];cnt++;}
}
for(I=0;I
for(j=I+1;j
if(b[I]
{data=b[I]; b[I]=b[j];b[j]=data;}
}
void readDat()
{ int i ;
FILE *fp ;
fp = fopen("", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{ int i ;
readDat() ;
jsVal() ;
printf("滿足條件的數=%dn", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("n") ;
writeDat() ;
system("pause");
}
writeDat()
{ FILE *fp ;
int i ;
fp = fopen("", "w") ;
fprintf(fp, "%dn", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%dn", b[i]) ;
fclose(fp) ;
}
7153 8129 5795 2896 3019 7747 7607 8145 7090 4140
8626 7905 3735 9620 8714 9496 3640 5249 7671 5925
4687 2982 9387 6478 2638 2793 8298 8246 5892 9861
9110 2269 6951 9800 2439 5339 1064 9994 6762 5752
1001 1030 7989 2845 2958 3820 3010 9486 9798 4014
2783 1604 1628 6466 4101 4128 7127 3262 6332 2076
1860 5834 4580 9057 2614 7852 3789 2897 9194 6317
6276 4285 5610 6945 9137 8348 5434 9162 4303 6779
5025 5137 4630 3535 4048 2697 2438 9791 3903 3650
4899 1557 4745 2573 6288 5421 1563 9385 6545 5061
3905 1074 7840 4596 7537 5961 8327 2104 1055 8317
1282 5368 6571 5440 8274 1919 6789 4542 3570 1500
7044 9288 5302 7577 4018 4619 4922 2076 3297 5898
1699 9276 4439 2729 8725 7507 2729 6736 2566 3227
7901 2973 2353 4805 2546 3406 4824 2060 8645 5886
7549 9279 3310 5429 6344 4100 9604 1146 9234 6202
3477 1492 4800 2194 9937 1304 3454 5477 9230 5382
4064 8472 8262 6724 7219 9968 3398 4952 4130 6953
1791 4229 5432 8147 5409 4275 5091 2278 6192 4898
6808 8866 3705 3025 2929 1503 5298 2233 5483 3635
4
8317
7577
5795
1791
-
2015計算機三級數據庫備考練習題及答案
一、選擇題1.下列不屬於概念設計目標的是__________。A.定義和描述應用領域涉及的數據範圍B.描述清楚數據的屬性特徵C.定義和描述數據的約束D.確定數據的結構2.下列關於數據庫概念設計的説法中,錯誤的是__________。A.抽象實體集時需將具有相同屬性特徵的事物歸...
-
2015年9月計算機三級網絡技術題庫
一、填空題(每小題1分,共10分。)1.網絡軟件是在網絡環境下使用、運行或者控制和管理網絡的計算機軟件。根據軟件的功能,計算機網絡軟件可分為網絡系統軟件和()軟件兩大類型。3.5類雙絞線由()對線組成,分為無屏蔽雙絞線()和屏蔽雙絞線()2.計算機網絡是計算機技術和...
-
計算機三級網絡技術題庫帶答案
三級考試分為“網絡技術”,“數據庫技術”,“軟件測試技術","信息安全技術","嵌入式系統開發技術"等五個類別。“網絡技術”考核計算機網絡基礎知識及計算機網絡應用系統開發和管理的基本技能。下面是小編精心整理的計算機三級網絡技術題庫帶答案,僅供參考,大家一起...
-
計算機三級數據庫技術強化訓練題
導語;同學們在備考計算機等級考試時,要多做題多練習,下面是計算機三級數據庫技術強化訓練題,一起來練習下吧:計算機三級數據庫技術強化訓練題11).下列關於數據庫系統的故障的敍述中,哪一個是不正確的?A.事務故障可能導致數據庫處於不一致狀態B.事務故障可能由兩種錯...