C语言考试题库(一)_第1页
C语言考试题库(一)_第2页
C语言考试题库(一)_第3页
C语言考试题库(一)_第4页
C语言考试题库(一)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1-1请编写函数countValue。,它的功能是:求n以内(不包括n)同时能被3与7整除的所

有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。

doublecountUalue(intn)

<

doubledata=0.0;

doubles;

inti;

For(i=1;i<n;i++)/脸历从1到n中的每个数据*/

if(i%3==G&&i砥7==0)/*若i同时能破3和7整除*/

data+=i;/*将i累加的临时变量data中*/

s=sqrt(data);/*求平方根*/

returns;|/哒回s值*/

>

doublecountUalue(intn)

<

inti;

doubledate=0.0;

For(i=1;i<n;i++)

iF(i%3==0&&iV==O)

date+=i;

date=sqrt(date);

returndate;|

>

l-2请编写函数countValue(),它的功能是:求出l到1000之内能被7或II整除但不能同

时被7或II整除的所有整数放在数组a中,并通过n返回这些数的个数。

voidcountUalue(int*a,int*n)

<

inti;

*n=0;

for(i=1;i<=1000;i++)

iF((i%7==1)||(i%76&i%11==0))

a[(*n)++]=i;

>

2-1"请编制程序,从文件IN.DAT中读取200个整数至数组xx中,求出最大数max及最大

数的个数ent和数组xx中能被3整除或能被7整除的算术平均值pj(保留2为小数)。结果

max、ent、pj输出到OUT.DAT中。

nax=xx[0];

for(i=1,k=0;i<N;i++)

<

if(xx[i]>max)max=xx[i];/喏^X[i]大于max,就将xx[i]赋给max*/

if(xx[i]%3==0||xx[i]V==0)/喏xx[i]能被3或7密除署/

<

j+=xx[i];k++;

>/关将xx[i]累加到j中,并且计数值增1关/

pj=(float)(j*180/k)/180;求平均值Pj*/

For(i=0,cnt=O;i<N;i++)/*统计数组xx中,最大值的个数关/

if(xx[i]==nax)cnt++;

/«»*»««***«**********»«»*****«**********»«*««/

/*关关关**署关*关**关*芟关*关关**关关关*关WWW芟关**/

nax=xx[i];

For(i=0,k=0;i<N;i++)<

if(xx[i]>nax)

nax=xx[i];

if(xx[i]%3==0||xx[i]%7==8)

j+=xx[i];

k++;

>

pj=(Float)(j*10O/k)/100;

For(i=O,cnt=0;i<N;i++)

iF(xx[i]=nax)

cnt++;

/关*关**买关关关关弁**关关***关w关关关*关***弁关*关关关关弁关(*关

2-2请编制程序,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cntl和偶

数的个数cnt2以及数组xx值为偶数的算术平均值pj(保留2位小数)。结果cntl、cnt2、

pj输出到out.dat中。

/***«********-M*******-K********-M-««****/

pj=o;

For(i=0,cnt1=0,cnt2=0;i<N;i++)

<

if(xx[i]%2)cnt1**;/诘xx[i]为奇数,cntl增1*/

else/唔xx[i]为懵数,cnt2增1,将xx[i]累加到pj中*/

<

cnt2++;

pj+=xx[i];

>

>

「上=41<«3卬:1*1。。/(:门2)“。0;/*注意保留两位小数的话需要先乘1。哂除10。*/

/*署M*买关关****关**关关关**关关*署M*关关弁芸*/

Pj=0;

For(i=0,cnt1=0,cnt2=0;i<N;i++)<

if(xx[i]%2)

cnt1++;

else

<

cnt2++;

pj+=xx[i];

pj=(Float)(pj*100/cnt2)/1OO;

/M关关头*蓑*关关关■关*关*关**关头关芸关头**关关关关**/

2・3请编制程序,从文件IN.DAT中读取200个整数至数组xx中,不计数组xx中值最大和

最小的数(若有重复,则都不计),再求出最大数max及最大数的个数cntl、最小数

min及最小数的个数cnt2和所剩下的200-cntl-cnt2个数的算术平均值pj(保留2为小

数)。将结果max、cntl>min^cnt2>pj输出到OUT.DAT中。

/************«*******************************/

maxG=minG=xx[G];

max=min=xx[0];

PJ=0;

cnt1=cnt2=0;

For(i=1;i<N;i++)

<

if(maxO<xx[i])

maxO=xx[i];

elseif(nin0>xx[i])

ninO=xx[i];

>

for(i=0;i<N;i++)

<

if(n)ax<xx[i]&&xx[i]<naxO)

nax=xx[i];

iF(nin>xx[i]&&xx[i]>minO)

nin=xx[i];

>

For(i=0;i<N;i++)

if(xx[i]==max)

cnt1++;

elseif(xx[i]==nin)

cnt2++;

else

pj+=xx[i];

pj=(Float)((long)pj/(2O0-cnt1-cnt2));

/关*买W关*M**关关头MM*关关关关关关关关关关关关关**关关关买头・买MWMM/

/********************************************/

naxO=min0=xx[0];

nax=nin=xx[6];

Pj=0;

cnt1=cnt2=0;

For(i=0;i<N;i++)<

iF(nax8<xx[i])

nax0=xx[i];

elseiF(min0>xx[i])

nin0=xx[i];

>

for(i=0;i<N;i++)<

if(max<xx[i]&&max<maxO)

max=xx[i];

iF(min>xx[i]&&min>nin0)

nin=xx[i];

>

for(i=0;i<N;i++)<

iF(xx[i]==nax)

cnt1++;

if(xx[i]==nin)

cnt2++;

else

pj+=xx[i];

>

pj=(Float)((long)pj/(200-cnt1-cnt2));

/********************************************/

2-4请编制程序,从文件IN.DAT中读取200个整数至数组xx中,选出数组中绝对值最

大的数(若存在多个,则全部选出),再求出绝对值次大的数max及绝对值最大数的个

数ent和剩下200-cnt个数的算术平均值pj(保留2为小数)。结果max、ent、pj输出到

OUT.DAT中。

/WM*M****«■关W**关关*署**W***关**M关关**关关关**关关**关*关*/

nax0=nax=abs(xx[0]);

Pj=8;

cnt=0;

For(i=1;i<N;i++)

iF(naxO<abs(xx[i]))

maxO=abs(xx[i]);

For(i=9;i<N;i++)

if(abs(xx[i])<maxO&&abs(xx[i])>max)

max=abs(xx[i]);

For(i=0;i<N;i++)

if(abs(xx[i])==nax0)

cnt++;

else

pj+=xx[i];

pj=(Float)((long)pj*100/(200-cnt))/100;

/关关*关*关关***买*关*关关关*关*关*关**关蓑关*关关关*关关关*关关关/

2-5已知在文件IN.DAT中存有若干个(<200)四位数字的正整数,函数ReadDat。读取这

若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(1)求出这个

文件中共有多少个正整数totNum:(2)求这些数右移1位后,产生的新数是偶数的数

的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调

用函数writeDat()把所求的结果输出到文件OUT.DAT中。

<

inti,data;

for(i-0;i<MAXNUH;i**)

<

if(?xx[i])break;/喏xx[i]为。,则跳出遁环*/

iF(xx[i]>0)totNun++;/喏xx[ij大于0,让数值增1*/

data=xx[i]»1;/*xx[i语移一位后赋给变量data*/

讦(data%2==G)/*若、'[对右移一位后为偶数”

<

totCnt++;totPjz*=xx[i];/*偶数计数值增1,并将xx[i]累加到变量totPjz中*/

totPjz/=totCnt;/*计算平均值共/

inti,date;

For(i=0;i<MAXNUM;i++)<

iF(xx[i]==0)

break;

iF(xx[i]>0)

<

totNun++;

date=xx[i]>>1;

>

iF(date%2==8){

totCnt++;

totPjz+=xx[i];

totPjz=totPjz/totCnt;

3-1已知在文件1N.DAT中存有若干个(<200)的四位数字的正整数,函数ReadDat()

读取若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(1)

求出这文件中共有所少个正整数totNum;(2)求这些数中的各位数字之和是奇数

的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数

writeDat()把所求的结果输出到文件OUT.DAT中。

inti.data;

inta1,a2,a3,a4;

For(i=0;i<MfiXNUM;i++)

if(?xx[i])break;/喏xx⑴为&则鞅出整环*/

iF(xx[i]>0)totNun++;/*若xx[i达于O,计数值增1*/

a1=xx[i]/1000;/*分离出元差xx[i]的平位*/

a2=xx[i]%1OOO/100;/«分离出元素xx[i]的百位*/

a3=xx[i]%1O0/1O;/吩离出无素的十位*/

a4=xx[i]%10;/吩高出元素xx[i]的个位*/

if((a1+a2+a3+a4)%2)/*若元素xx[i]的各位数字之和是奇数*/

totCnt++;

totPjz+=xx[i];

totPjz/=totCnt;/*筛选完毕后,将满足条件数的累加和除以这些数的个数得平均值*/

3-2已知在文件IN.DAT中存有若干个(<200)四位数字的正整数,函数ReadDat。读

取若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(I)求

出这文件中共有所少个正整数totNum;(2)求这些数中的各位数字之和是偶数的

数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数

writeDat()把所求的结果输出到文件OUT.DAT中。

inti,a1,a2,a3,a4;

for(i=O;xx[i]>0&&i<MfiXNUM;i++)

<

totNum++;

a1=xx[i]/18O0;

a2=xx[i]%1000/10B;

a3=xx[i]%100/10;

a4=xx[i]%10;

if((a1+a2+a3+a4)%2==0)

totCnt++;

totPjz+=xx[i];

totPjz/=totCnt;/*筛选完•

3-3已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat。把这些数存入数

组a中。请编制函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的

数减个位数上的数小于零的个数ent,再求出所有满足此条件的四位数平均值pjzl,以及不

满足此条件的四位平均数平均值pjz2,最后调用写函数writeDat。把结果输出到out.dat文件。

inti,k=0,a1,a2,a3,a4;

For(i=0;i<3O0;i++)

<

a1=a[i]/1080;

a2=a[i]%1000/10B;

a3=a[i]%100/10;

a4=a[i]%10;

if(a1-a2-a3-a4<0)

<

cnt++;

pjz1+=a[i];

>

else

<

k++;

pjz2*=a[i];

pjz1/=cnt;

pjz2/=k;|

3-4已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组

a中。请编制函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数

减十位数上的数大于零的个数ent,再求出所有满足此条件的四位数平均值pjzl,以及不满

足此条件的四位数平均值pjz2,最后调用写函数writeDat。把结果输出到out.dat文件

inti,k=09a1,a2,a3,a4;

for(i=0;i<3O0;i++)

a1=a[i]/1008;

a2=a[i]%1000/100;

a3=a[i]%100/10;

a4=a[i]%10;

iF(a4-a1-a2-a3>0)

cnt++;

pjz1+=a[i];

else

k++;

pjz2*=a[i];

>

pjz1/=cnt;

pjz2/=k;

3-5已知在数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数

组a中,请编制一函数jsValue。,其功能是:求出千位数上的数减百位数减卜位数减个位数

上的数大于零的个数ent,再求出所有满足此条件的四位数平均值pjzl,以及不满足此条件

的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dal文件。

inti,k=0,a1,a2,a3,a4;

for(i=0;i<380;i++)

<

a1=a[i]/1080;

a2=a[i]%1008/100;

a3=a[i]%100/10;

ai»=a[i]%10;

iF(a1-a2-a3-a4>0)

(

cnt++;

pjz1*=a[i];

>

else

<

k++;

pjz2*=a[i];

>

>

pjz1/=cnt;

pjz2/=k;

>

4-1”已知在数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat。把这些数存

入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数

等于十位数上的数加个位数上的数的个数ent,再把所有满足此条件的四位数依次存入

数组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数

writeDat()把结果输出到OUT.DAT文件。

<'

inti,j,k;

inta1,a2,a3,a4;

for(i=8;i<30O;i++)

<

a1=a[i]/1800;

a2=a[i]%1000/100;

a3=a[i]%108/10;

a4=a[i]%10;

iF(a1+a2==a3+a4)

<

b[cnt]=a[i];cnt++;

For(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

if(b[i]<b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

4-2”已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数

组a中。请编制函数jsValue。,其功能要求求出千位数上的数减百位数上的数减卜位

数上的数减个位数上的数大于零的个数ent,再把所有满足此条件的四位数依次存入数

组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()

把结果输出到out.dat文件。

<

inti,j,k;

inta1,a2,a3,a4;

For(i=0;i<300;i++)

<

a1=a[i]/1008;

a2=a[i]%1000/100;

a3=a[i]%100/10;

a4=a[i]%18;

iF(a1-a2-a3-ai*>0)

〈b[cnt]=a[i];cnt++;>

>

for(i=B;i<cnt-1;i++)

for(j=i+1;j<cnt;j++)

if(b[i]>b[j])

{

k=b[i];b[i]=b[j];b[j]=k;

}

>

4-3"已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:若•个四位数的千位上的数字值小于等于

百位上的数字值,百位上的数字值小于等于十位上的数字值,以及十位上的数字值小于等于

个位上一的数字值,并且原四位数是偶数,则统计出满足此条件的个数ent并把这些四位数按

从小到大的顺序存入数组b中。最后调用写函数writeDat()把结果ent以及数组b中符合条

件的四位数输出到OUT.DAT文件中。

<

inti,j,k;

inta1,a2,a3,a4;

For(i=0;i<MAX;i++)

if(a[i]%2==0)

<

a1=a[i]/1800;

a2=a[i]%18OO/10O;

a3=a[i]%100/10;

a4=a[i]%10;

if((a1<=a2)&&(a2<=a3)&&(a3<=a4))

<b[cnt]=a[i];cnt++;>

>

For(i=8;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

if(b[i]>b[j])

(

k=b[i];b[i]=b[j];b[j]=k;

4-4"已知数据文件IN.DAT中存有200个四位数,并已调用读函数ReadDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数均是奇数,则统计

出满足此条件的个数ent并把这些四位数按从大到小的顺序存入数组b中。最后main。函数

调用写函数writeDat。把结果ent及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序已经给出。

inti,j,k.Flag;

intss[4];

For(i=B;i<200;i++)

(

ss[0]=a[i]/1O00;

ss[1]=a[i]%1800/100;

ss[2]=a[i]%108/10;

ss[3]=a[i]%18;

For(j=0;j<4;j++)

<

if(ss[j]%2)

flag=1;

else

{Flag=O;break;

>

if(Flag==1)

<

b[cnt]=a[i];cnt++;

For(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

iF(b[i]<b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

inti,j,k;

inta1,a2,a3,a4;

For(i=0;i<MfiX;i++)<

a1=a[i]/1000;

a2=a[i]%1080/100;

a3=a[i]%100/10;

a4=a[i]%10;

if((a1%2)&&(a2%2)&&(a3%2)&&(aU%2))

<

b[cnt]=a[i];cnt++;

For(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

iF(b[i]<b[j]){

k=b[i];b[i]=b[j];b[j]=k;

>

4-5"已知数据文件IN.DAT中存有200个四位数,并已调用读函数ReadDat()把这些数存

入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数均是0或

2或4或8,则统计出满足此条件的个数ent并把这些四位数按从大到小的顺序存入

数组b中。最后main()函数调用写函数writeDat()把结果ent及数组b中符合条件的四

位数输出到OUT.DAT文件中。

inti,j,k,Flag;

intss[4];

for(i=0;i<200;i++)

<

ss[0]=a[i]/1800;

ss[1]=a[i]%10O0/100;

ss[2]=a[i]%100/10;

ss[3]=a[i]%10;

For(j=0;j<4;j++)

<

if(ss[j]%2==0)

Flag=1;

else

{Flag=0;break;}

}

iF(Flag==1)

<

b[cnt]=a[i];cnt++;

for(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

if(b[i]<b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

>

>

4-6"己知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存

入数组a中,请考生编制•函数jsVal(),其功能是:若一个四位数的千位上的数字值

小于等于百位上的数字值,百位上的数字值小于等于十位上的数字值,以及十位上的

数字值小于等于个位上的数字值,并且原四位数是奇数,则统计出满足此条件的个数

ent并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数writeDat。把结

果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。

<

inti,j,k;

inta1,a2,a3,a4;

For(i=0;i<MAX;i++)

if(a[i]%2==1)

<

a1=a[i]/1000;

a2=a[i]%1000/108;

a3=a[i]%100/1B;

a4=a[i]%10;

iF((a1<=a2)&&(a2<=a3)&&(a3<=ai*))

{b[cnt]=a[i];cnt++;>

>

For(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

iF(b[i]>b[j])

k=b[i];b[i]=b[j];b[j]=k;

>

5-1"已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入

数组a中。请编制函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的

十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四

位数的十位数字),以及把个位数字和百位数字组成另•个新的十位数字cd(新十位数

的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如

果新组成的两个十位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的

十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要

计算满足上述条件的四位数的个ent。

inti,j,k,ab,cd;

inta1,a2,a3,a4;

For(i=0;i<MfiX;i++)

<

a1=a[i]/1800;

a2=a[i]%1000/100;

a3=a[i]%100/10;

a4=a[i]%10;

ab=a1*1G+a3;

cd=aU*10+a2;

iF((ab-cd)>=0&&(ab-cd)<=10&&ab%2==0&&cd%2==0&&a1>O&&a4>0)

|<b[cnt]=a[i];cnt++;>

>

For(i=8;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

iF(b[i]<b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

5-2”已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入

数组a中。请编制函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的

十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四

位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数字cd(新十位数

的上位数字是原四位数的个位数字,新卜位数的个位数字是原四位数的百位数字),如

果新组成的两个十位数ab-cd>=0且ab-cd<=lO且两个数均是奇数,同时两个新数的十

位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计

算满足上述条件的四位数的个数ento最后main()函数调用写函数writeDat。把结果ent

以及数组b中符合条件的四位数输出到OUT.DAT文件中。

inti,j,k,ab9cd;

inta1,a2,a3,a4;

For(i=0;i<MAX;i++)

<

a1=a[i]/1900;

a2=a[i]%1O00/100;

a3=a[i]%1O0/10;

a4=a[i]%10;

ab=a1*10+a3;

cd=a4*10+a2;

iF((ab-cd)>=O&&(ab-cd)<=1O&&ab%2==1&&cd%2==1&&a1>0&&a4>0)

〈b[cnt]=a[i];cnt++;}

>

for(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

if(b[i]<b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

5-3”已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中。请编制函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的

十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四

位数的个位数字),以及把百位数字和十位数字组成另一个新的十位数字cd(新十位数

的卜位数字是原四位数的百位数字,新十位数的个位数字是原四位数的卜位数字),如

果新组成的两个十位数必须是一个奇数,另一个为偶数,同时两个新数的十位数字均

不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上

述条件的四位数的个数cnto最后main。函数调用写函数writeDat。把结果ent以及数组

b中符合条件的四位数输出到OUT.DAT文件中。

<

inti,j,k,ab,cd;

inta1,a2,a3,a4;

For(i=0;i<MAX;i++)

<

a1=a[i]/1B0O;

a2=a[i]%1000/100;

a3=a[i]%100/10;

a4=a[i]%10;

ab=a4*10+a1;

cd=a2*10+a3;

iF(((ab%2?=1&&cd%2==1)||(ab%2==1&acd%2?=1))&&a4>06&a2>0)

{b[cnt]=a[i];cnt++;>

>

For(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

iF(b[i]<b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

5-4"已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入

数组a中。请编制函数jsVal(),其功能是:把千位数字和十位数字重新组成一

个新的二位数(新二位数的十位数字是原四位数的千位数字,新二位数的个位

数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的二位

数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四

位数的百位数字),如果新组成的两个二位数均是素数且新数的十位数字均不为

零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足

上述条件的四位数的个数cnt»最后main()函数调用写函数writeDat。把结果ent

以及数组b中符合条件的四位数输出到OUT.DAT文件中。

inti,j,k,ab,cd;

inta1,a2,a3,a4;

For(i=0;i<MAX;i++)

<

a1=a[i]/1008;

a2=a[i]%1080/100;

a3=a[i]%100/10;

aU=a[i]%18;

ab=a1*1@+a3;

cd=a4*10+a2;

iF(isprime(ab)&&isprime(cd)&&a1>0&&a4>0)

{b[cnt]=a[i];cnt++;>

>

For(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

iF(b[i]<b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

23-1编制函数ReadDat。实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编

制函数Compute。分别计算出xx中偶数的个数even,奇数的平均值avel,偶数

的平均值ave2以及方差totfc的值,最后调用函数writeDat。把结果输出到

OUT.DAT文件中。

inti9aa[MAX];

For(i=0;i<1O00;i++)

iF(xx[i]%2)

<

odd++;

aue1+=xx[i];

>

else

<

euen++;

aue2+=xx[i];

aa[euen-1]=xx[i];

>

aue1/=odd;

aue2/=euen;

For(i=0;i<euen;i++)

totFc+=(aa[i]-aue2)*(aa[i]-aue2)/euen;

>

23-2请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中:请

编制函数Compute。分别计算出xx中奇数的个数odd,奇数的平均值avel,偶数的平均

值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat。把结果输出到OUT.DAT

文件中。

<

intivaa[MAX];

For(i=0;i<100O;i++)

if(xx[i]%2)

<

odd++;

aue1+=xx[i];

aa[odd-1]=xx[i];

>

else

<

euen++;

aue2+=xx[i];

>

aue1/=odd;

aue2/=euen;

for(i=0;i<odd;i++)

totFc+=(aa[i]-aue1)*(aa[i]-aue1)/odd;

>

6-1”在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()

读取这200个数存放到数组aa中。请编写一个函数jsSort(),其函数的功能是:要求按每个

数的后三位的大小进行升序排列,然后取出满足条件的前10个数依次存入数组bb中,如果

后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输

出到文件out.dat中。

int

for(i=0;i<199;i++)

For(j=i+1;j<200;j++)

(

ir(aa[i]%1000>aa[j]%1800)

<

t=aa[i];aa[i]=aa[j];aa[j]=t;

}

elseiF(aa[i]%1000==aa[j]%1000)

iF(aa[i]<aa[j])

<

t=aa[i];aa[i]=aa[j];aa[j]=t;

For(i=0;i<10;i++)

bb[i]=aa[i];

>

6-2"在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat。读

取这200个数存放到数组aa中。请编写一个函数jsSort(),其函数的功能是:要求按每

个数的后两位的大小进行降序排列,然后取出满足条件的前I0个数依次存入数组bb中,

如果后两位的数值相等,则按后三位的数值进行降序排列。最后调用函数WriteDat。把

结果bb输出到文件out.dat中。

<

int

For(i=0;i<199;i++)

For(j=i+1;j<208;j++)

<

if(aa[i]%100<aa[j]%100)

{

t=aa[i];aa[i]=aa[j];aa[j]=t;

>

elseif(aa[i]%180==aa[j]%100)

iF(aa[i]%1000<aa[j]%1000)

<

t=aa[i];aa[i]=aa[j];aa[j]=t;

For(i=0;i<10;i++)

bb[i]=aa[i];

}

7-1”已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,

如果该四位数连续小于该四位数以后的5个数且该数是偶数(该四位数以后不满五个

数,则不统计),则统计出满足此条件的个数ent并把这些四位数按从小到大的顺序存

入数组b中,最后调用写函数writeDat。把结果ent以及数组b中符合条件的四位数输

出到OUT.DAT文件中。

inti,j,k;

For(i=0;i<MfiX-5;i++)

(

if(a[i]%2==0)

<

For(j=i+1;j<=i+5;j++)

iF(a[i]>a[j])

break;

iF(j==i+6)

<

b[cnt]=a[i];

cnt++;

for(i=0;i<cnt-1;i++)

for(j=i+1;j<cnt;j++)

if(b[i]>b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

>

>

7-2"J知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该

四位数连续大于该四位数以后的5个数且该数是奇数,则统计出满足此条件的个数ent并把

这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat。把结果ent以及数

组b中符合条件的四位数输出到OUT.DAT文件中。

inti,j,k;

For(i=0;i<MfiX-5;i++)

<

if(a[i]%2?=0)

{

For(j=i+1;j<=i+5;j++)

iF(a[i]<a[j])

break;

iF(j==i+6)

<

b[cnt]=a[i];

cnt++;

For(i=0;i<cnt-1;i++)

For(j=i+1;j<cnt;j++)

if(b[i]>b[j])

<

k=b[i];b[i]=b[j];b[j]=k;

>

>

7-2"已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入

数组a中,请考生编制一函数jsV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论