2016年3月計(jì)算機(jī)三級(jí)上機(jī)題庫及答案
1.已知數(shù)據(jù)文件IN.DAT中存有200個(gè)四位數(shù), 并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal(),其功能是: 把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字), 以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的十位數(shù)cd (新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩個(gè)十位數(shù)ab-cd>=10且ab-cd<=20且兩個(gè)數(shù)均是偶數(shù),同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt。最后main()函數(shù)調(diào)用寫函數(shù)writeDat( )把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義數(shù)組: a[200], b[200], 已定義變量: cnt
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。
-------------------------
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("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{ int i ;
readDat() ;
jsVal() ;
printf("滿足條件的數(shù)=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
system("pause");
}
writeDat()
{ FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
}
IN.DAT
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
OUT.DAT
4
9288
8866
8626
3262
2.已知數(shù)據(jù)文件IN.DAT中存有200個(gè)四位數(shù), 并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal(),其功能是: 把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字), 以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的十位數(shù)cd (新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩個(gè)十位數(shù)ab-cd>=0且ab-cd<=10且兩個(gè)數(shù)均是奇數(shù), 同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt。最后main()函數(shù)調(diào)用寫函數(shù)writeDat( )把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義數(shù)組: a[200], b[200], 已定義變量: cnt
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。
-------------------------
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("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{ int i ;
readDat() ;
jsVal() ;
printf("滿足條件的數(shù)=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
system("pause");
}
writeDat()
{ FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
}
IN.DAT
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
OUT.DAT
4
8317
7577
5795
1791
【3月計(jì)算機(jī)三級(jí)上機(jī)題庫及答案】相關(guān)文章:
2016年3月計(jì)算機(jī)三級(jí)《數(shù)據(jù)庫技術(shù)》上機(jī)題庫及答案08-16
計(jì)算機(jī)三級(jí)網(wǎng)絡(luò)技術(shù)上機(jī)題庫及答案05-13
計(jì)算機(jī)三級(jí)《數(shù)據(jù)庫技術(shù)》上機(jī)題庫及答案08-25
3月計(jì)算機(jī)三級(jí)信息安全技術(shù)上機(jī)試題及答案08-06
2016計(jì)算機(jī)三級(jí)數(shù)據(jù)庫上機(jī)題庫及答案08-21
計(jì)算機(jī)三級(jí)數(shù)據(jù)庫上機(jī)題庫及答案201605-06
2016年計(jì)算機(jī)三級(jí)上機(jī)題庫08-31