機(jī)試過(guò)后很多熱心的網(wǎng)友在考試吧論壇貼出了自己抽到的上級(jí)試題,考試吧經(jīng)過(guò)篩選提供以下比較完整的機(jī)試題目,僅供參考。更多網(wǎng)友試題請(qǐng)到論壇參與討論
機(jī)試一:
考試時(shí)間:9月23日 15:30
抽到題目:已知數(shù)據(jù)文件IN.DAT中存有200個(gè)兩位數(shù)且相鄰的兩個(gè)數(shù)之間均不相等,并已調(diào)用函數(shù)readDat()把這些數(shù)存入數(shù)組b中,請(qǐng)考生編制一個(gè)函數(shù)jsVal(),實(shí)現(xiàn)的功能是對(duì)經(jīng)常上下波動(dòng)的數(shù)據(jù)可采用只記錄峰值的數(shù)據(jù)壓縮方法,即每次將采樣到的當(dāng)前值和前一次值比較,如數(shù)據(jù)變化方向改變(原遞增現(xiàn)遞減或原遞減現(xiàn)遞增),說(shuō)明已過(guò)峰值,這時(shí)就將當(dāng)前值記錄下來(lái),接著將結(jié)果依次存入數(shù)據(jù)b中(從0開(kāi)始存放),注意數(shù)組b中的第一個(gè)數(shù)據(jù)a[0]原樣存入b[0]單元中。最后調(diào)用輸出函數(shù)writeDat()把結(jié)果c輸出到文件OUT.DAT中。
例如:原數(shù)據(jù): 35,69,87,73,62,54,60,70,......
壓縮后: 35,73,60,......
注意:部分源程序存在文件PROG1.C文件中。
程序中已定義:a[200]、b[200]。
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫(xiě)函數(shù)writeDat的內(nèi)容。
補(bǔ)充函數(shù):
void jsVal()
{ int i;
b[0]=a[0];cnt=1;
for(i=1;i<MAX-1;i++)
if((a>a[i-1]&&a>a[i+1])||(a<a[i-1]&&a<a[i+1])) b[cnt++]=a[i+1];
}
機(jī)試二:
考試時(shí)間:9月23日 15:00 (供大家參考一下,祝大家上機(jī)成功!)
已知在文件IN.DAT中存有N個(gè)實(shí)數(shù)(N<200), 函數(shù)ReadDat( )是讀取這N個(gè)實(shí)數(shù)并存入數(shù)組xx中。請(qǐng)編制函數(shù)CalValue( ), 其功能要求: 1.求出這N個(gè)實(shí)數(shù)的平均值aver; 2.分別求出這N個(gè)實(shí)數(shù)中大于平均值aver的實(shí)數(shù)的整數(shù)部分值之和sumint以及該實(shí)數(shù)的小數(shù)部分值之和sumdec, 最后調(diào)用函數(shù)WriteDat()把所求的結(jié)果輸出到文件OUT2.DAT中。
注意: 部分源程序存放在PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main( )、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
void CalValue(void)
{
int i ;
long val ;
for(i = 0 ; i < N ; i++)
aver += xx ;
aver /= (double) N ;
for(i = 0 ; i < N ; i++) {
if(xx > aver) {
val = (long) xx ;
sumint += val ;
sumdec += (xx - val) ;
}
}
}
機(jī)試三:
考試時(shí)間:9月23日 14:00
抽到題目:已知在文件IN.DAT中存有10x20個(gè)實(shí)數(shù), 并已通過(guò)函數(shù)ReadDat( )數(shù)組aa[10][20]中。請(qǐng)編制函數(shù)jsVal(), 其功能要求: 1.分別剔除每行的第一個(gè)和最后一個(gè)數(shù),求出剩余18個(gè)數(shù)的平均值存入數(shù)組bb[10]中; 2.將bb[10]中的數(shù)按從達(dá)到小順序排列,結(jié)果仍存入bb[10]中。 最后調(diào)用函數(shù)WriteDat()把所求的結(jié)果輸出到文件OUT.DAT中。
注意: 部分源程序存放在PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main( )、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
int aa[10][20];
float bb[10];
void jsVal()
{
int i,j;
float a;
for(i=1;i<=10;i++)
{
bb=0;
for(j=1;j<=19,j++)
bb+=aa[j];
bb/=18;
}
for(i=1;i<10;i++)
for(j=1;j<=10-i;j++)
if(bb<bb[i-1])
{
a=bb[j];
bb[j]=bb[j-1];
bb[j-1]=a;
};
}
機(jī)試四:
1.已知數(shù)據(jù)文件IN.DAT中存有10組每組20個(gè)四位數(shù)的數(shù)據(jù), 每個(gè)數(shù)據(jù)間用空格分隔,并已調(diào)用讀函數(shù)readDat()把這10組數(shù)據(jù)存入數(shù)組aa中(其中,aa定義為int aa[10][20]),請(qǐng)考生編制一函數(shù)jsVal(), 其功能是: 首先計(jì)算每組中的數(shù)屬于奇數(shù)的算術(shù)平均值,然后取每組小于其算術(shù)平均值的最大一個(gè)四位數(shù)依次存入數(shù)組bb?其中,數(shù)組bb定義為int bb[10],其中bb[0]為第一組中符合條件的數(shù),bb[1]為第二組中符合條件的數(shù),其它依此類推),最后調(diào)用輸出函數(shù)writeDat()把結(jié)果bb輸出到文件OUT.DAT中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義全局變量: aa[10][20]、bb[10]
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫(xiě)函數(shù)writeDat()的內(nèi)容。
void jsVal()
{ int i,j,max,cnt;
double aver;
for(i=0;i<10;i++)
{ aver=0.0; cnt=0; max=0;
for(j=0;j<20;j++)
if(aa[j]%2) { cnt++; aver+=aa[j];}
if(cnt==0) aver=0.0;
else aver/=(double)cnt;
for(j=0;j<20;j++)
if(aa[j]<aver&&aa[j]>max) max=aa[j];
bb=max;
}
}
機(jī)試五:
已知數(shù)據(jù)文件IN.DAT中存有10組每組20個(gè)四位數(shù)的數(shù)據(jù), 每個(gè)數(shù)據(jù)間用空格分隔,并已調(diào)用讀函數(shù)readDat()把這10組數(shù)據(jù)存入數(shù)組aa中(其中,aa定義為int aa[10][20]),請(qǐng)考生編制一函數(shù)jsVal(), 其功能是: 首先計(jì)算每組中的數(shù)中十位數(shù)位置上的數(shù)字是3、6、9的數(shù)的算術(shù)平均值,然后取每組小于其算術(shù)平均值的最大一個(gè)四位數(shù)依次存入數(shù)組bb中(其中,數(shù)組bb定義為int bb[10],其中bb[0]為第一組中符合條件的數(shù),bb[1]為第二組中符合條件的數(shù),其它依此類推),最后調(diào)用輸出函數(shù)writeDat()把結(jié)果bb輸出到文件OUT.DAT中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義全局變量: aa[10][20]、bb[10]
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫(xiě)函數(shù)writeDat()的內(nèi)容。
void jsVal()
{ int i,j,max,cnt,sw;
double aver;
for(i=0;i<10;i++)
{ aver=0.0; cnt=0; max=0;
for(j=0;j<20;j++)
{ sw=aa[j]%100/10;
if(sw==3||sw==6||sw==9) { cnt++; aver+=aa[j];}
}
if(cnt==0) aver=0.0;
else aver/=(double)cnt;
for(j=0;j<20;j++)
if(aa[j]<aver&&aa[j]>max) max=aa[j];
bb=max;
}
}
機(jī)試六:
已知在文件IN.DAT中存有N個(gè)實(shí)數(shù)(N<200), 函數(shù)ReadDat( )讀取這N個(gè)實(shí)數(shù)并存入數(shù)組xx中。
請(qǐng)編制函數(shù)CalValue( ), 其功能要求是:
1.求出這N個(gè)實(shí)數(shù)的平均值aver;
2.分別求出這N個(gè)實(shí)數(shù)的整數(shù)部分值的平均值averint 以及其小數(shù)部分值的平均值averdec。
最后調(diào)用函數(shù)WriteDat( )把所求的結(jié)果輸出到文件OUT10.DAT中。
注意: 部分源程序存放在PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main( )、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
void CalValue(void)
{
int i ;
for(i=0; i<N; i++) {
aver += xx ;
averint += (int) xx ;
}
averdec = aver - averint ;
aver /= (double) N ;
averint /= (double) N ;
averdec /= (double) N ;
}
機(jī)試七:
已知數(shù)據(jù)文件IN.DAT中存有10組每組20個(gè)四位數(shù)的數(shù)據(jù), 每個(gè)數(shù)據(jù)間用空格分隔,并已調(diào)用讀函數(shù)readDat()把這10組數(shù)據(jù)存入數(shù)組aa中(其中,aa定義為int aa[10][20]),請(qǐng)考生編制一函數(shù)jsVal(), 其功能是: 首先計(jì)算每組中的數(shù)的最大值和最小值的算術(shù)平均值,然后取每組小于其算術(shù)平均值的最大一個(gè)四位數(shù)依次存入數(shù)組bb中(其中,數(shù)組bb定義為int bb[10],其中bb[0]為第一組中符合條件的數(shù),bb[1]為第二組中符合條件的數(shù),其它依此類推),最后調(diào)用輸出函數(shù)writeDat()把結(jié)果bb輸出到文件OUT.DAT中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義全局變量: aa[10][20]、bb[10]
請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫(xiě)函數(shù)writeDat()的內(nèi)容。
void jsVal()
{ int i,j,max1,max2,min,cnt;
double aver;
for(i=0;i<10;i++)
{ aver=0.0; cnt=0; min=9999; max1=max2=0;
for(j=0;j<20;j++)
{ if(aa[j]>max1) max1=aa[j];
if(aa[j]<min) min=aa[j];
}
aver=(double)(max1+min)/2.0;
for(j=0;j<20;j++)
if(aa[j]<aver&&aa[j]>max2) max2=aa[j];
bb=max2;
}
}
機(jī)試九:
已知在文件IN.DAT中存有N個(gè)實(shí)數(shù)(N<200), 函數(shù)ReadDat( )是讀取這N個(gè)實(shí)數(shù)并存入數(shù)組xx中。請(qǐng)編制函數(shù)CalValue( ), 其功能要求:1.求出這N個(gè)實(shí)數(shù)的小數(shù)部分值的平均值aver; 2.分別求出這N 個(gè)實(shí)數(shù)中其小數(shù)部分值大于平均值aver的該數(shù)的整數(shù)部分值之和sumint以及該數(shù)的小數(shù)部分之和sumdec, 最后調(diào)用函數(shù)WriteDat()把所求的結(jié)果輸出OUT5.DAT文件中。
注意: 部分源程序存放在PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main( )、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
void CalValue(void)
{
int i ;
long val ;
float dec ;
for(i = 0 ; i < N ; i++) {
val = (long) xx ;
aver += xx - val ;
}
aver /= (double) N ;
for(i = 0 ; i < N ; i++) {
val = (long) xx ;
dec = xx - val ;
if(dec > aver) {
sumint += val ;
sumdec += (xx - val) ;
}
}
}
機(jī)試十:
已知在文件IN.DAT中存有N個(gè)實(shí)數(shù)(N<200), 函數(shù)ReadDat( )是讀取這N個(gè)實(shí)數(shù)并存入數(shù)組xx中。請(qǐng)編制函數(shù)CalValue( ), 其功能要求: 1.求出這N個(gè)實(shí)數(shù)的平均值aver; 2.分別求出這N個(gè)實(shí)數(shù)中大于平均值aver的實(shí)數(shù)的整數(shù)部分值之和sumint以及該實(shí)數(shù)的小數(shù)部分值之和sumdec, 最后調(diào)用函數(shù)WriteDat()把所求的結(jié)果輸出到文件OUT2.DAT中。
void CalValue(void)
{ int i ;
long val ;
for(i = 0 ; i < N-1 ; i++)
aver += xx ;
aver /= (double) N ;
for(i = 0 ; i < N-1 ; i++)
{ if(xx > aver)
{ val = (long) xx ;
sumint += val ;
sumdec += (xx - val) ; }
}}
機(jī)時(shí)十一:
抽到題目:已知數(shù)據(jù)文件IN.DAT中存有200個(gè)兩位數(shù)且相鄰的兩個(gè)數(shù)之間均不相等,并已調(diào)用函數(shù)readDat()把這些數(shù)存入數(shù)組b中,請(qǐng)考生編制一個(gè)函數(shù)jsVal(),實(shí)現(xiàn)的功能是對(duì)經(jīng)常上下波動(dòng)的數(shù)據(jù)可采用只記錄峰值的數(shù)據(jù)壓縮方法,即每次將采樣到的當(dāng)前值和前一次值比較,如數(shù)據(jù)變化方向改變(原遞增現(xiàn)遞減或原遞減現(xiàn)遞增),說(shuō)明已過(guò)峰值,這時(shí)就將當(dāng)前值記錄下來(lái),接著將結(jié)果依次存入數(shù)據(jù)b中(從0開(kāi)始存放),注意數(shù)組b中的第一個(gè)數(shù)據(jù)a[0]原樣存入b[0]單元中。最后調(diào)用輸出函數(shù)writeDat()把結(jié)果c輸出到文件OUT.DAT中。例如:原數(shù)據(jù): 35,69,87,73,62,54,60,70, 壓縮后: 35,73,60, 注意:部分源程序存在文件PROG1.C文件中。 程序中已定義:a[200]、b[200]。請(qǐng)勿改動(dòng)數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫(xiě)函數(shù)writeDat的內(nèi)容。
{ int i;
b[0]=a[0];
cnt=1;
for(i=1;i<MAX-1;i++)
if((a>a[i-1]&&a>a[i+1])||(a<a[i-1]&&a<a[i+1]))
b[cnt++]=a;}
機(jī)時(shí)十二:
本人是昨天晚上考的,前面也有人抽到,但我覺(jué)得答案有問(wèn)題現(xiàn)將我的答案歸納如下,盡請(qǐng)指教!
抽到題目:已知在文件IN.DAT中存有10x20個(gè)實(shí)數(shù), 并已通過(guò)函數(shù)ReadDat( )數(shù)組aa[10][20]中。請(qǐng)編制函數(shù)jsVal(), 其功能要求: 1.分別剔除每行的第一個(gè)和最后一個(gè)數(shù),求出剩余18個(gè)數(shù)的平均值存入數(shù)組bb[10]中; 2.將bb[10]中的數(shù)按從達(dá)到小順序排列,結(jié)果仍存入bb[10]中。 最后調(diào)用函數(shù)WriteDat()把所求的結(jié)果輸出到文件OUT.DAT中。
int aa[10][20];
float bb[10];
void jsVal()
{int i,j;
float a;
for(i=0;i<10;i++)
{ bb=0;
for(j=1;j<19,j++)
bb+=aa[j];
bb/=18; }
for(i=0;i<10;i++)
for(j=i;j<10;j++)
if(bb<bb[j])
{ a=bb;
bb=bb[j]
bb[j]=a;
}}