文档库 最新最全的文档下载
当前位置:文档库 › 2012三级网络上机

2012三级网络上机

2012三级网络上机
2012三级网络上机

三级网络上机题型

整数排序题

☆题目1(整数排序题)

在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。

例:处理前6012 5099 9012 7025 8088

处理后9012 6012 7025 8088 5099

void jsSort()

{

int i,j,data;

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

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

if(aa[i]%1000>aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]

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

bb[i]=aa[i];

}

***************************************************************** ☆题目2 正整数排序

在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。例:处理前9012 5099 6012 7025 8088

处理后5099 8088 7025 6012 9012

void jsSort()

{

int i,j,data;

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

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

if(aa[i]%1000aa[j]) {data=aa[i];aa[i]=aa[j];aa[j]=data;}

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

bb[i]=aa[i];

}

*****************************************************************★☆题目3(整数统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt 并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,flag;

for(i=0;i

{for(j=i+1;j<=i+5;j++)

if(a[i]>a[j]&&a[i]%2) flag=1;

else {flag=0;break;}

if(flag==1) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {flag=b[i];b[i]=b[j];b[j]=flag;}

}

*****************************************************************☆题目4(整数统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt 并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,flag;

for(i=0;i

{for(j=i+1;j<=i+5;j++)

if(a[i]

else { flag=0; break;}

if(flag==1) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {flag=b[i];b[i]=b[j];b[j]=flag;}

}

*****************************************************************题目5(整数运算排序题)

在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第二个数大于第一个数加第三个数的之和,其中满足条件的组数作为函数jsSort() 的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。

int jsSort()

{int i, j, cnt=0;

data ch;

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

if(aa[i].x2>aa[i].x1+aa[i].x3) bb[cnt++]=aa[i];

for(i=0;i

for(j=i+1;j

if(bb[i].x2+bb[i].x3

{ ch=bb[i];bb[i]=bb[j];bb[j]=ch;}

return cnt;

}

***************************************************************** ★题目6(整数各位统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的数输出到OUT.DAT文件中。

void jsVal()

{int i,j,thou,hun,ten,data;

for(i=0;i

{thou=a[i]/1000; hun=a[i]/100%10;

ten=a[i]%100/10; data=a[i]%10;

if(thou>=hun&&hun>=ten&&ten>=data&&a[i]%2) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {thou=b[i];b[i]=b[j];b[j]=thou;}

}

*****************************************************************题目7(整数统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{

int i,j,gw,sw,bw,qw;

for(i=0;i

{gw=a[i]%10; sw=a[i]/10%10;

bw=a[i]/100%10; qw=a[i]/1000;

if((qw+gw)==(sw+bw)&&a[i]%2) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}

}

***************************************************************** ★题目8(整数排序题)

下列程序的功能是:将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在

K1的后面(右面)。要求编写函数jsValue()实现此功能,最后调用writeDat()函数将新序列输出到文件out.dat中。

说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

例:序列{6,8,9,1,2,5,4,7,3}

经重排后成为{3,4,5,2,1,6,8,9,7}

jsValue(int a[10][9])

{ int i,j,k,val,num;

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

{ val=a[i][0];

for(j=0;j<9;j++)

if(a[i][j]

{ num=a[i][j];

for(k=j;k>0;k--)

a[i][k]=a[i][k-1];

a[i][0]=num;

}

}

}

***************************************************************** ★题目9(整数各位数字运算排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j;

int qw,bw,sw,gw;

for (i=0;i

{qw=a[i]/1000; bw=a[i]%1000/100;

sw=a[i]%100/10; gw=a[i]%10;

if((qw<=bw)&&(bw<=sw)&&(sw<=gw)&&(a[i]%2==0))

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

}

for(i=0;i

for(j=i+1;j

if (b[i]>b[j]) {qw=b[i];b[i]=b[j];b[j]=qw;}

}

**************************************************************** 题目10(整数各位数运算排序题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+1。

8129,8+1<>2+9,则该数不满足条件忽略。

jsValue()

{ int i,j,qw,bw,sw,gw;

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

{ qw=a[i]/1000; bw=a[i]/100%10;

sw=a[i]%100/10; gw=a[i]%10;

if(qw+bw==sw+gw) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** ★☆题目11 (整数各位数运算及排序题)

在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的和,其中满足条件的组数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出到

文件out.dat中。

int jsSort()

{ int i,j,cnt=0;

data xy;

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

if(aa[i].x1>(aa[i].x2+aa[i].x3)) bb[cnt++]=aa[i];

for(i=0;i

for(j=i+1;j

if(bb[i].x1+bb[i].x3>bb[j].x1+bb[j].x3) { xy=bb[i]; bb[i]=bb[j]; bb[j]=xy;}

return cnt;

}

***************************************************************** 整数统计运算题

★☆题目12整数统计运算题)

已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。

void CalValue(void)

{int i,data;

for(i=0;i

if(xx[i]>0)

{ totNum++;

data=xx[i]>>1;

if(data%2==0){totCnt++;totPjz+=xx[i];}

}

if(totCnt==0) totPjz=0;

else totPjz/=totCnt;

}

*****************************************************************☆题目13(整数统计运算题)

已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:

1、求出这文件中共有多少个正整数totNum;

2、求这些数中的各位数字之和是偶数的数的个数totCnt,

以及满足此条件的这些数的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。

void CalValue(void)

{ int i,qw,bw,sw,gw;

for(i=0;i

if(xx[i]>0)

{ totNum++;

qw=xx[i]/1000;

bw=xx[i]/100%10;

sw=xx[i]%100/10;

gw=xx[i]%10;

if((qw+bw+sw+gw)%2==0) { totCnt++; totPjz+=xx[i];}

}

if(totCnt==0) totPjz=0;

else totPjz/=totCnt;

}

***************************************************************** ☆题目14(整数统计运算题)

已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT 中。

void CalValue(void)

{ int i ,qw,bw,sw,gw;

for(i=0;i

if(xx[i]>0)

{ totNum++;

qw=xx[i]/1000; bw=xx[i]/100%10;

sw=xx[i]%100/10; gw=xx[i]%10;

if((qw+bw+sw+gw)%2) { totCnt++; totPjz+=xx[i];}

}

if(totCnt==0) totPjz=0;

else totPjz/=totCnt;

}

***************************************************************** 题目15(整数统计运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值减去百位数字上的值再减去十位数字上的值最后减去个位数字上的值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

void jsVal()

{int i,j,thou,hun,ten,data;

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

{thou=a[i]/1000; hun=a[i]%1000/100;

ten=a[i]%100/10; data=a[i]%10;

if(thou-hun-ten-data>=0&&a[i]%2) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {thou=b[i]; b[i]=b[j];b[j]=thou;}

}

*****************************************************************题目16(整数统计运算题)

已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。

void CalValue(void)

{int i,data;

for(i=0;i

if(xx[i]>0)

{ totNum++;

data=xx[i]>>1;

if(data%2){totCnt++;totPjz+=xx[i];}

}

if(totCnt==0) totPjz=0;

else totPjz/=totCnt;

}

*****************************************************************题目17(整数统计运算题)

请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx下标为偶数的元素值的算术平均值pj(保留2位小数)。

sum=0; pj=0.0; cnt1=cnt2=0;

for(i=0;i

{ if(xx[i]%2) cnt1++;

else cnt2++;

if(i%2==0) {pj+=xx[i];sum++;}

}

pj/=sum;

***************************************************************** ☆题目18(整数统计运算题)

请编制程序prog1.c,从文件IN.DAT中读取200个整数至数组xx中,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。

cnt=0; max=xx[0]; pj=0.0; n=0;

for(m=0;m

if(max

for(m=0;m

{if(xx[m]==max) cnt++;

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

{ pj+=xx[m]; n++; }

}

pj/=n; *****************************************************************题目19(整数统计运算题)

请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx中值为偶数的算术平均值pj (保留2位小数)。

结果cnt1,cnt2,pj输出到out.dat中。

cnt1=0; cnt2=0; pj=0.0;

for(m=0;m

if(xx[m]%2) cnt1++;

else { cnt2++; pj+=xx[m];}

if(cnt2==0) pj=0;

else pj/=cnt2;

***************************************************************** 题目20(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。

9812,9-8-1-2>0,则该数不满足条件忽略。

jsValue()

{ int i,j,qw,bw,sw,gw;

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

{ qw=a[i]/1000; bw=a[i]/100%10;

sw=a[i]%100/10; gw=a[i]%10;

if(qw-bw-sw-gw>0) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if( b[i]>b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}

}

*****************************************************************☆题目21(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。

8129,8+9<>1+2,则该数不满足条件忽略

jsValue()

{int i,qw,bw,sw,gw,j;

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

{qw=a[i]/1000; bw=a[i]%1000/100;

sw=a[i]%100/10; gw=a[i]%10;

if(qw+gw==bw+sw) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {qw=b[i]; b[i]=b[j]; b[j]=qw;}

}

*****************************************************************题目22(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:9123,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2。

jsValue()

{int i,qw,bw,sw,gw,n=0;

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

{qw=a[i]/1000; bw=a[i]%1000/100;

sw=a[i]%100/10; gw=a[i]%10;

if(qw-bw-sw-gw>0) {cnt++;pjz1+=a[i];}

else {n++;pjz2+=a[i];}

}

if(cnt==0) pjz1=0;

else pjz1/=cnt;

if(n==0) pjz2=0;

else pjz2/=n;

}

*****************************************************************☆题目23(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。jsValue()

{ int i,j,qw,bw,sw,gw;

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

{ qw=a[i]/1000; bw=a[i]/100%10;

sw=a[i]%100/10; gw=a[i]%10;

if((qw-bw-sw-gw)>0) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) { qw=b[i];b[i]=b[j];b[j]=qw;}

}

***************************************************************** 题目24(整数各位数字运算题)

下列程序的功能是:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT13.DAT中。

void countValue()

{int i,thou,hun,ten,data;

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

{ thou=i/1000; hun=i%1000/100;

ten=i%100/10; data=i%10;

if(thou+hun==ten+data&&thou+hun==(data-thou)*10) {cnt++;sum+=i;} }

}

***************************************************************** ☆题目25(整数各位数字统计运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt 以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,thou,hun,ten,data;

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

{thou=a[i]/1000; hun=a[i]%1000/100;

ten=a[i]%100/10; data=a[i]%10;

if(thou&&thou%2&&hun%2&&ten%2&&data%2) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** ★☆题目26(整数各位运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,thou,hun,ten,data;

for(i=0;i

{thou=a[i]/1000; hun=a[i]/100%10;

ten=a[i]%100/10; data=a[i]%10;

if((thou+ten==hun+data)&&a[i]%2==0) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {thou=b[i];b[i]=b[j];b[j]=thou;} }

***************************************************************** 题目27(整数各位数运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:1239,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。

8129,9-8-1-2<0,则该数不满足条件计算平均值pjz2。jsValue()

{int i,j,thou,hun,ten,data,n=0;

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

{thou=a[i]/1000; hun=a[i]/100%10;

ten=a[i]%100/10; data=a[i]%10;

if(data-thou-hun-ten>0) { cnt++; pjz1+=a[i];}

else { n++; pjz2+=a[i];}

}

if(cnt==0) pjz1=0;

else pjz1/=cnt;

if(n==0) pjz2=0;

else pjz2/=n;

}

*****************************************************************☆题目28(整数各位数运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+1<>2+9,则该数不满足条件计算平均值pjz2。

jsValue()

{int i,thou,hun,ten,data,n=0;

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

{thou=a[i]/1000; hun=a[i]%1000/100;

ten=a[i]%100/10; data=a[i]%10;

if(thou+hun==ten+data) {cnt++;pjz1+=a[i];}

else {n++;pjz2+=a[i];}

}

if(cnt==0) pjz1=0;

else pjz1/=cnt;

if(n==0) pjz2=0;

else pjz2/=n;

}

***************************************************************** ☆题目29(整数各位运算统计题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数等于百位数上的数加十位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到out.dat文件。

例如:6712,6+2=7+1,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+9<>1+2,则该数不满足条件计算平均值pjz2。

jsValue()

{ int i,gw,sw,bw,qw,cnt2=0;

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

{gw=a[i]%10; sw=a[i]/10%10;

bw=a[i]/100%10; qw=a[i]/1000;

if((qw+gw)==(sw+bw)) { cnt++;pjz1+=a[i]; }

else { cnt2++;pjz2+=a[i]; }

}

if(cnt==0) pjz1=0;

else pjz1/=cnt;

if(cnt2==0) pjz2=0;

else pjz2/=cnt2;

}

****************************************************

☆题目30

请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。

最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。

部分源程序存在文件prog1.c中。

例如:若输入17 5 则应输出:19,23,29,31,37。

请勿改动主函数main()和写函数writeDat()的内容。

int isP(int m)

{

int i;

for(i=2;i

if(m % i==0)return 0;

return 1;

}

void num(int m,int k,int xx[])

{ int s=0;

for(m=m+1;k>0;m++)

if(isP(m)) { xx[s++]=m; k--;}

}

题目31

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{ int i,j,qw,bw,sw,gw;

for(i=0;i

{ qw=a[i]/1000; bw=a[i]/100%10;

sw=a[i]%100/10; gw=a[i]%10;

if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0)

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

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

*****************************************************************整数各位打散组合运算题

★☆题目32(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,thou,hun,ten,data,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>=10&&cd> =10)

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

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** ☆题目33(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。

void jsVal()

{ int i,j,qw,bw,sw,gw,ab,cd;

for(i=0;i

{ qw=a[i]/1000; bw=a[i]/100%10;

sw=a[i]%100/10; gw=a[i]%10;

ab=qw*10+sw; cd=gw*10+bw;

if(ab-cd>=10&&ab-cd<=20&&ab%2==0&&cd%2==0&&qw!=0&&gw!=0) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

*****************************************************************★☆题目34(整数各位打散组合运算题)

没有提供求素数函数isprime() ,可自己编制

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数均是素数且新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

int isprime(int m)

{int i;

for(i=2;i<=m/2;i++)

if(m%i==0) return 0;

return 1;

}

void jsVal()

{int i,j,qw,bw,sw,gw;

int ab,cd;

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

{qw=a[i]/1000; bw=a[i]%1000/100;

sw=a[i]%100/10; gw=a[i]%10;

ab=10*qw+sw; cd=10*gw+bw;

if(isprime(ab)&&isprime(cd)&&ab>=10&&cd>=10) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** 题目35(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,thou,hun,ten,data,j;

int ab,cd;

for(i=0;i

{thou=a[i]/1000; hun=a[i]%1000/100;

ten=a[i]%100/10; data=a[i]%10;

ab=10*thou+data; cd=10*hun+ten;

if(ab%2&&cd%2&&(ab%5==0||cd%5==0)&&ab>=10&&cd>=10)

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

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** ★题目36(整数各位打散组合运算题题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab

void jsVal()

{int i,thou,hun,ten,data,j;

int ab,cd;

for(i=0;i

{thou=a[i]/1000; hun=a[i]/100%10;

ten=a[i]%100/10; data=a[i]%10;

ab=10*thou+ten; cd=10*data+hun;

if(((ab-cd)<0&&ab%2==1&&ab%5!=0)&&cd%2!=1&&ab>=10&&cd>=10 )

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

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** 题目37(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是偶数并且两个十位数中至少有一个数能被9整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,thou,hun,ten,data,ab,cd;

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

{thou=a[i]/1000; hun=a[i]/100%10;

ten=a[i]%100/10; data=a[i]%10;

ab=10*data+thou; cd=10*hun+ten;

if((ab%9==0||cd%9==0)&&ab%2==0&&cd%2==0&&hun!=0&&data!=0) {b[cnt]=a[i];cnt++;}

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** ★题目38(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数并且两个十位数中至少有一个数能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到

OUT.DAT文件中。

void jsVal()

{int i,j,thou,hun,ten,data,ab,cd;

for(i=0;i

{thou=a[i]/1000; hun=a[i]/100%10;

ten=a[i]%100/10; data=a[i]%10;

ab=10*data+thou; cd=10*hun+ten;

if((ab%2!=cd%2)&&((ab%17==0||cd%17==0)&&ab>=10&&cd>=10)) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** 题目39(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,thou,hun,ten,data,ab,cd;

for(i=0;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%2!=1&&ab%5==0)&&cd%2==1&&ab>=10&&cd>=1 0)

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

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** 20/2

素数题

题目40(素数题)

无忧id 102 题提供了求素数isPrime()函数

程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请考生编写函数countValue( )实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件bc10.out 中。

int isPrime(int m)

{

int i;

for(i=2;i

if(m % i==0)return 0;

return 1;

}

void countValue()

{ int i,j,bw,sw,gw;

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

{ bw=i/100; sw=i%100/10; gw=i%10;

if(isPrime(i)&&(gw+sw)%10==bw) { cnt++; sum+=i;} }

}

*****************************************************************

题目41(素数统计排序题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。9812是非素数,则该数不满足条件忽略。

int isP(int m){

int i;

for(i=2;i

if(m%i==0)return 0;

return 1;

}

jsValue()

{int i,j,value;

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

if(isP(a[i])) b[cnt++]=a[i];

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {value=b[i]; b[i]=b[j]; b[j]=value;}

}

***************************************************************** ★☆题目42(素数题)

下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countValue()实现程序要求的功能,最后调用函数writeDat()把结果cnt 和sum输出到文件out.dat中。

int isPrime(int m)

{

int i;

for(i=2; i

if(m % i ==0) return 0 ;

return 1;

}

void countValue()

{int i;

for(i=2;i<=90;i++)

if(isPrime(i)&&isPrime(i+4)&&isPrime(i+10))

{cnt++;sum+=i;}

}

运行结果为:

满足条件的整数的个数=7

满足条件的整数的和值=201

***************************************************************** ★题目43(素数题)

下列程序prog1.c的功能是:计算500-800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数...的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT11.DAT中。

int isP(int m)

{ int i;

for(i=2;i

if(m % i==0)return 0;

return 1;

}

void countValue()

{int i,j,k=1;

for(i=800;i>500;i--)

if(isP(i))

{

cnt++;

sum=sum+k*i;

k=k*(-1); }

} }

***************************************************************** ★题目44(素数题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果cnt,pjz1,pjz2输

出到out.dat文件。

例如:5591是素数,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。

9812是非素数,则该数不满足条件计算平均值pjz2。

int isP(int m)

{int i;

for(i=2;i

if(m%i==0)return 0;

return 1;

}

jsValue()

{int i;

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

if(isP(a[i])) {pjz1+=a[i];cnt++;}

else pjz2+=a[i];

if(cnt==0) pjz1=0;

else pjz1/=cnt;

if(300-cnt==0) pjz2=0;

else pjz2/=(300-cnt);

}

*****************************************************************★题目45(数字运算题)

请编写函数void countValue(int *a,int *n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。

void countValue(int *a,int *n)

{ int i;

*n=0;

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

if(i%7==0&&i%11||i%7&&i%11==0)

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

}

***************************************************************** ★题目46(数字统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是偶数(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt 并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,flag;

for(i=5;i

{for(j=i-5;j

if(a[i]>a[j]&&a[i]%2==0) flag=1;

else { flag=0; break;}

if(flag==1) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

***************************************************************** ☆题目47(数字统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是奇数,且该数必须能被7整除(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b 中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{ int i,j,flag;

for(i=5;i

else { flag=0;break;}

if(flag==1) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

}

**************************************************************** 字符型题

题目48字符型题

函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DAT中

void StrOR(void)

{int i,righto,j,s,k;

char tem[80];

for(i=0;i

for(j=strlen(xx[i])-1;j>=0;j--)

{ k=0;

memset(tem,0,80);//初始化数组tem;

if(xx[i][j]=='o')

{righto=j;

for(s=righto+1;s

tem[k++]=xx[i][s];

for(s=0;s

if(xx[i][s]!='o')

tem[k++]=xx[i][s];

strcpy(xx[i],tem);

}

else

continue;

}

}

}

★题目49(字符处理——倒序输出)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。

例如:原文:You He Me

I am a student.

结果:Me He You

student a am I

void StrOL(void)

{ int i,j,k,s,m,strl;

char str[80];

for(i=0;i

{ strl=strlen(xx[i]);

memset(str,0,80);

s=k=0;

for(j=strl-1;j>=0;j--)

{ if(isalpha(xx[i][j])) k++;

else { for(m=1;m<=k;m++)

str[s++]=xx[i][j+m];

k=0;

}

if(!isalpha(xx[i][j]))

str[s++]=' ';

}

for(m=1;m<=k;m++)

str[s++]=xx[i][j+m];

str[s]='\0';

strcpy(xx[i],str); }

}

★题目50(字符排序题)行为单位对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

例如:位置01234567

源字符串 a b c d e f g h

则处理后字符串 a h c f e d g b

void jsSort()

{int i,j,k,strl;

char ch;

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

{ strl=strlen(xx[i]);

for(j=1;j

for(k=j+2;k

if(xx[i][j]>xx[i][k]) { ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;}

}

}

***************************************************************** ★☆题目51(替换字符题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DAT中。

例:原文:Adb.Bcdza

abck.LLhj

结果:Aec.Bdeab

bcdl.LLik

void ConvertCharA(void)

{ int i,j;

for(i=0;i

{ for(j=0;j

if(xx[i][j]=='z') xx[i][j]='a';

else if(xx[i][j]>='a'&&xx[i][j]<='y') xx[i][j]+=1;

}

}

***************************************************************** ☆题目52(亲朋字符替换题)

函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX 中,最后调用函数WRITEDAT()把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.

void ChA(void)

{ int i,j;

char ch;

for(i=0;i

{ ch=xx[i][0];

for(j=0;j

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

xx[i][strlen(xx[i])-1]+=ch;

strrev(xx[i]); //进行逆转

}

}

***************************************************************** ☆题目18

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{ int i,j;

for(i=0;i

else xx[i][j]=xx[i][j]*11%256;

}

***************************************************************** 字符串处理题

★☆题目53(字符串排序题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT2.DAT中。

例:原文:dAe,BfC.

CCbbAA

结果:fedCBA.

bbCCAA

void SortCharD(void)

{int i,j,k,strl;

char ch;

for(i=0;i

{strl=strlen(xx[i]);

for(j=0;j

for(k=j+1;k

if(xx[i][j]

{ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch;}

}

}

***************************************************************** ☆题目54(字符串字母移位题)

程序prog1.c的功能是:把s 字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。

请考生编写函数chg(char *s)实现程序要求,最后调用函数readwriteDAT( )把结果输出到文件bc1.out中。

例如:s 字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为:No.123Ayz。

void chg(char *s)

{int I;

for(I=0;I

if(s[i]=='z'||s[i]=='Z') s[i]-=25;

else if(s[i]>='a'&&s[i]<='y'||s[i] >='A'&&s[i]<='Y') s[i]+=1;

}

*****************************************************************★☆题目55(字符串左右排序交换题)

函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

例如:位置012345678

源字符串 a b c d h g f e

1 2 3 4 9 8 7 6 5

则处理后字符串h g f e d c b a

8 7 6 5 9 4 3 2 1

void jsSort()

{ int i,j,k,strl,half;

char temp;

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

{ strl=strlen(xx[i]);

half=strl/2;

for(j=0;j

for(k=j+1;k

if(xx[i][j]

{ temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;}

for(j=half-1,k=strl-1;j>=0;j--,k--)

{ temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;}

}

}

***************************************************************** 题目56(字符串左右排序交换题)为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

例如:位置012345678

源字符串 d c b a h g f e

4 3 2 1 9 8 7 6 5

则处理后字符串h g f e a b c d

8 7 6 5 9 1 2 3 4

A b c d h g f e

1 2 3 4 9 8 7 6 5

void jsSort()

{ int i,j,k,strl,half;

char temp;

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

{ strl=strlen(xx[i]);

half=strl/2;

for(j=0;j

for(k=j+1;k

if(xx[i][j]>xx[i][k])

{ temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;}

for(j=half-1,k=strl-1;j>=0;j--,k--)

{ temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;}

}

}

*****************************************************************★题目57(字符串移位题)

程序prog1.c的功能是:把s 字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请考生编写函数chg(char *s)实现程序要求,最后调用函数readwriteDAT( )把结果输出到bc2.out文件中。

例如:s字符串中原有内容为:Mn.123xyZ,则调用该函数后,结果为:n.123xyZM。

void chg(char *s)

{ int i;

char ch=*s;//换成:ch=s[0];

for(i=0;i

s[i]=s[i+1];

s[strlen(s)-1]=ch;

}

题目58(字符串排序题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharA(),其函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DAT中。

例:原文:dAe,BfC.

CCbbAA

结果:,.ABCdef

AACCbb

void SortCharA(void)

{int i,j,k,strl;

char ch;

for(i=0;i

{strl=strlen(xx[i]);

for(j=0;j

for(k=j+1;k

if(xx[i][j]>xx[i][k])

{ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch;}

}

}

***************************************************************** ★题目59(字符串左右排序题)

函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。

例如:位置012345678

源字符串 a b c d h g f e

1 2 3 4 9 8 7 6 5

则处理后字符串 d c b a e f g h

4 3 2 1 9

5

6

7 8

void jsSort()

{int i,j,k,strl,half;

char ch;

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

{ strl=strlen(xx[i]);

half=strl/2;

for(j=0;j

for(k=j+1;k

if(xx[i][j]

for(j=half;j

for(k=j+1;k

if(xx[i][j]>xx[i][k]) {ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;} }

}

*****************************************************************★题目60(字符ASCII值移位替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJL(),其函数的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,低位补0,如果左移后,其字符的ASCII 值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT7.DAT中。

char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReadDat(void);

void WriteDat(void);

void StrCharJL(void)

{ int i,j;

char c;

for(i=0;i

for(j=0;j

{ c=xx[i][j]<<4;

if(!(c<=32||c>100)) xx[i][j]+=c;

}

}

***************************************************************** 方差运算题

★☆题目61(方差运算题)

请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中偶数的个数even,奇数的平均值ave1,偶数的平均值ave2以及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。

计算方差的公式如下:

N 2

totfc=1/N∑(xx[i]-ave2)

i=1

设N为偶数的个数,xx[i]为偶数,ave2为偶数的平均值。

原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)

/*********编制函数ReadDat()的部分************/

for(i=0;i

{ fscanf(fp,"%d,",&xx[i]);

if((i+1)%10==0)

fscanf(fp,"\n"); }

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

void Compute(void)

{ int i,yy[MAX];

for(i=0;i

yy[i]=0;

for(i=0;i

if(xx[i]%2==0) { yy[even++]=xx[i]; ave2+=xx[i];}

else { odd++; ave1+=xx[i];}

if(odd==0) ave1=0;

else ave1/=odd;

if(even==0) ave2=0;

else ave2/=even;

for(i=0;i

totfc+=(yy[i]-ave2)*(yy[i]-ave2)/even;

}

*****************************************************************☆题目62(方差运算题)

请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。

计算方差的公式如下:

N 2

totfc=1/N ∑ (xx[i]-ave1)

i=1

设N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。

原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)

/*********编制函数ReadDat()的部分************/

for(i=0;i

{fscanf(fp,"%d,",&xx[i]);

if((i+1)%10==0)

fscanf(fp,"\n");

}

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

void Compute(void)

{ int i,yy[MAX];

for(i=0;i

yy[i]=0;

for(i=0;i

if(xx[i]%2) { yy[odd++]=xx[i]; ave1+=xx[i];}

else { even++; ave2+=xx[i];}

if(odd==0) ave1=0;

else ave1/=odd;

if(even==0) ave2=0;

else ave2/=even;

for(i=0;i

totfc+=(yy[i]-ave1)*(yy[i]-ave1)/odd;

}

***************************************************************** ☆题目63(方差运算题)

请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute(),分别计算出xx中奇数的个数odd,偶数的个数even,平均值aver以及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。

计算方差的公式如下:

N 2

totfc=1/N ∑(xx[i]-aver)

i=1

原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)

/***************编制函数ReadDat()*****************/

for(i=0;i

{ fscanf(fp,"%d,",&xx[i]);

if((i+1)%10==0)

fscanf(fp,"\n");

}

*********************************************

void Compute(void)

{ int i;

for(i=0;i

{ if(xx[i]%2) odd++;

else even++;

aver+=xx[i];

}

aver/=MAX;

for(i=0;i

totfc+=(xx[i]-aver)*(xx[i]-aver);

totfc/=MAX;

}

***************************************************************** ☆题目64(整数各位数运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal()

{int i,j,thou,hun,ten,data;

for(i=0;i

{thou=a[i]/1000; hun=a[i]/100%10;

ten=a[i]%100/10; data=a[i]%10;

if(data-thou-hun-ten>=0&&a[i]%2==0) b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]>b[j]) {thou=b[i];b[i]=b[j];b[j]=thou;}

}

***************************************************************** ★题目65(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS1.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。(注意中间变量用无符号整型),部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]*11%256>130) continue;

else xx[i][j]=xx[i][j]*11%256;

}

***************************************************************** ★☆题目66(字符替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT8.DAT中。

void StrCharJR()

{int i,j;

for(i=0;i

for(j=0;j

xx[i][j]+=(xx[i][j]>>4);(右移四位的表达方式)

}

***************************************************************** ★题目67(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件pS6.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='0'&&xx[i][j]*11%256<='9') continue;

else xx[i][j]=xx[i][j]*11%256;

}

*****************************************************************题目68(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS7.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]>='A'&&xx[i][j]<='Z') continue;

else xx[i][j]=xx[i][j]*11%256;

}

***************************************************************** 题目69(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。

替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='a'&&xx[i][j]*11%256<='z') continue;

else xx[i][j]=xx[i][j]*11%256;

}

*****************************************************************☆题目70(字符替换题)

无忧id 9 题条件微有不同

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS2.DAT中。

替代关系:f(p)=p*13 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII 值是偶数,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*13%256<=32||(xx[i][j]*13%256)%2==0) continue;

else xx[i][j]=xx[i][j]*13%256;

}

***************************************************************** ★题目71(字符替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConverCharD(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其它字符不变。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT4.DAT中。

例:原文:Adb.Bcdza

abck.LLhj

结果:Aca.Bbcyz

zabj.LLgi

void ConvertCharD(void)

{ int i,j;

for(i=0;i

{ for(j=0;j

if(xx[i][j]=='a') xx[i][j]='z';

else if(xx[i][j]>='b'&&xx[i][j]<='z') xx[i][j]-=1;

}

}

***************************************************************** ☆题目72(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所

有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS4.DA中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='A'&&xx[i][j]*11%256<='Z') continue;

else xx[i][j]=xx[i][j]*11%256;

}

☆题目73(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。

替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]>='a'&&xx[i][j]<='z') continue;

else xx[i][j]=xx[i][j]*11%256;

}

***************************************************************** ★题目74(字符替换题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS9.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]>='0'&&xx[i][j]<='9') continue;

else xx[i][j]=xx[i][j]*11%256;

}

**************************************************************** ★题目75(字符替题)

函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS3.DAT中。

替代关系:f(p)=p*17 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII 值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。

void encryptChar()

{ int i,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*17%256<=32||(xx[i][j]*17%256)%2!=0) continue;

else xx[i][j]=xx[i][j]*17%256;

}

***************************************************************** ★☆题目76(字符替换题)

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数CharConvA(),其函数的功能是:以行为单位把字符串中的最后一个字符的ASCII值右移4位,高位补0后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位,高位补0后加最后第三个字符的ASCII值,得到最后第二个新的字符,依此类推一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT10.DAT中。

void CharConvA()

{ int i,j;

char p,c;

for(i=0;i

{ p=xx[i][strlen(xx[i])-1];

c=xx[i][0];

for(j=strlen(xx[i])-1;j>0;j--)

xx[i][j]=(xx[i][j]>>4)+xx[i][j-1];

xx[i][0]=p+c;

}

}

*****************************************************************☆题目77(结构体操作题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。

void SortDat()

{int i,j;

PRO xy;

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

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

if(strcmp(sell[i].dm,sell[j].dm)<0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].j e

{xy=sell[i]; sell [i]=sell[j]; sell[j]=xy;}

}

***************************************************************** ★☆题目78(结构体运算题题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:

按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,

void SortDat()

{int i,j;

PRO xy;

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

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

if(strcmp(sell[i].mc,sell[j].mc)>0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je >sell[j].je)

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

***************************************************************** 题目79(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能

要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT9.DAT中。

void SortDat()

{int i,j;

PRO xy;

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

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

if(strcmp(sell[i].dm,sell[j].dm)>0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].j e

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

***************************************************************** ★☆题目80(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整

型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat() 把结果输出到文件OUT4.DAT中。

void SortDat()

{int i,j;

PRO xy;

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

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

if(sell[i].je

}

☆题目81(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中

,最后调用函数WriteDat()把结果输出到文件OUT7.DAT中。

void SortDat()

{int i,j;

PRO xy;

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

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

if(strcmp(sell[i].mc,sell[j].mc)<0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je >sell[j].je)

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

题目82(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。

void SortDat()

{int i,j;

PRO xy;

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

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

if(strcmp(sell[i].dm,sell[j].dm)>0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].j e>sell[j].je)

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

题目83 结构体运算题

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。

部分源程序存在文件prog1.c中。

void SortDat()

{int i,j;

PRO xy;

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

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

if(strcmp(sell[i].mc,sell[j].mc)<0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

***************************************************************** 题目84(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数

void SortDat()

{int i,j;

PRO xy;

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

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

if(sell[i].je0) {xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

★题目85(结构体运算题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。

void SortDat()

{int i,j;

PRO xy;

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

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

if(sell[i].je>sell[j].je||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)<0) {xy=sell[i]; sell[i]=sell[j]; sell[j]=xy;}

}

题目86(结构体排列题)

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。

void SortDat()

{int i,j;

PRO xy;

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

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

if(sell[i].je>sell[j].je||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)>0) {xy=sell[i];sell [i]=sell[j];sell[j]=xy;}

}

选票问题

题目87(选票问题)

现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中。

void CountRs(void)

{ int i,j,count;

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

{ count=0;

for(j=0;j<10;j++ ) //无效选票的判定,每一行表示一个人的投票情况

if(xx[i][j]=='1') count++;

if(count<=5) continue;

for(j=0;j<10;j++)

if(xx[i][j]=='1') yy[j]++;

}

}

★☆题目88(选票问题)

现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每

个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中

void CountRs(void)

{ int i,j,count;

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

{ count=0;

for(j=0;j<10;j++)

if(xx[i][j]=='1') count++;

if(count==0||count==10) continue;

for(j=0;j<10;j++)

if(xx[i][j]=='1') yy[j]++;

}

}

☆题目89(选票问题)

现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数大于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件OUT.DAT中。

void CountRs(void)

{ int i,j,count;

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

{ count=0;

for(j=0;j<10;j++)

if(xx[i][j]=='1') count++;

if(count>5) continue;

for(j=0;j<10;j++)

if(xx[i][j]=='1') yy[j]++;

}

}

*****************************************************************★☆题目90(级数运算题)

某级数的前两项A1=1,A2=1,以后各项具有如下关系:

An=An-2+2An-1(注:n-2与n-1为下标)

下列程序prog1.c的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:Sn=M,这里Sn=A1+A2+...+An,并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制jsValue()函数来实现此功能,最后调用函数writeDat()把数组b[]中的值输出到out.dat文件中。

请勿改动主函数main()和写函数writeDat()的内容。

#include

int b[3];

jsValue()

{int a1=1,a2=1,a12,sn,k=2;

sn=a1+a2;

while(1)

{a12=a1+2*a2;

if(sn<100&&sn+a12>=100) b[0]=k;

if(sn<1000&&sn+a12>=1000) b[1]=k;

if(sn<10000&&sn+a12>=10000) {b[2]=k;break;}

sn=sn+a12;

a1=a2;a2=a12;

k++;

}

}

运行结果为:

M=100,n=6

M=1000,n=9

M=10000,n=11

其他问题

☆题目91(单词个数统计题)

编写一个函数findStr(char *str,char *substr),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为"as",函数返回值是6。(表明了返回值是整数型)

函数ReadWrite()实现从文件in.dat中读取两个字符串,并调用函数findStr(),最后把结果输出到文件out.dat中。

int findStr(char *str,char *substr)

{ int i,j,len1,len2,cnt=0,flag;

len1=strlen(str);

len2=strlen(substr);

for(i=0;i

{ for(j=0;j

if(str[i+j]==substr[j]) flag=1;

else {flag=0;break;}

if(flag==1) cnt++;

}

return cnt;

}

★题目92(Fibonacci数列题)

编写函数jsValue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:

F(0)=0,F(1)=1

F(n)=F(n-1)+F(n-2)

最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。

例如:当t=1000时,函数值为:1597。

int jsValue(int t)

{ int f0=0,f1=1,fn;

fn=f0+f1;

while(fn<=t)

{ f0=f1;

f1=fn;

fn=f0+f1;

}

return fn;

}

***************************************************************** ☆题目93(迭代方法求方程题)

下列程序prog1.c的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。

Xn+1=cos(Xn)

迭代步骤如下:

(1)取X1初值为0.0;

(2)X0=X1,把X1的值赋给X0;

(3)X1=cos(X0),求出一个新的X1;

(4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。

请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT17.DAT中。

float countValue()

{ float x0,x1;

x1=0.0;

do{ x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>=0.000001);

return x1;

}

注:本题在无忧或捷成模拟盘中,需定义double x0,x1;才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考。

***************************************************************** ★题目94(平方根问题)

请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。

例如若n为1000时,函数值应为:s=153.909064。

double countValue(int n)

{ int i;

double s=0.0;

for(i=1;i

if(i%21==0) s+=i;

return sqrt(s);

}

实例如下:

#include

#include

double countValue(int n)

{ int i;

double s=0.0;

for(i=1;i

if(i%21==0) s+=i;

return sqrt(s);

}

s=s+i

s+=i

void main()

{

/*

请编写函数countValue(),它的功能是:

求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。

例如若n为1000时,函数值应为:s=153.909064。

int sum,i,n;

double s;

n=1000;

sum=0;

for(i=7;i

if(i%3==0&&i%7==0)

sum=sum+i;

s=sqrt(sum);

printf("%f\n",s);

*/

double s;

s=countValue(1000);

printf("%f\n",s);

}

***************************************************************** 题目95 (实数运算题)

已知在文件in.dat中存有N个(个数<200)实数,函数readdat()读取这N 个实数并存入数组xx中。请编制函数calvalue(),其功能要求:

1、求出这N个实数的平均值aver;

2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。

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

void CalValue(void)

{int i;

for (i=0;i

{sumint+=(long)xx[i];

sumdec+=xx[i]-(long)xx[i];

aver+=xx[i];

}

aver/=N;

}

***************************************************************** 题目96(完全平方数问题)

下列程序prog1.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。

请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。

int jsValue(int bb[])

{int i,j,k=0;

int hun,ten,data;

for(i=10;i<32;i++)

{j=I*I;

hum=j/100;

ten=j%100/10;

data=j%10;

if(hum==ten||hum==data||ten==data)

bb[k++]=j;}

return k;

}

***************************************************************** ★题目97 (回文数问题)

下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int svalue(long m)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat中。

int jsValue(long n)

{int i,strl,half;

char xy[20];

ltoa(n,xy,10); /*注意这里不能使用itoa()函数,因为n是long 型的*/

strl=strlen(xy);

half=strl/2;

for(i=0;i

if(xy[i]!=xy[--strl]) break;

if(i>=half) return 1;

else return 0;

}

或者下面的解法:

int jsValue(long n)

{long int s=0,k;

k=n;

while(k)

{ s=s*10+k%10;

k/=10;

}

if(s==n) return 1;

if(s!=n) return 0;

}

输出结果为:

m= 11,m*m= 121,m*m*m= 1331

m= 101,m*m= 10201,m*m*m= 1030301

m= 111,m*m= 12321,m*m*m= 1367631

***************************************************************** ★题目98(出圈题)

设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数, 报数到第m个人, 此人出圈, 再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,给出这n个人的顺序表p。请考生编制函数Josegh()实现此功能并调用函数WriteDat()把编号按照出圈的顺序输出到OUT.DAT文件中。

注意:第1个出圈的编号存放在p[0]中,第2个出圈的编号存放在p[1]中,直至第n个出圈的编号存放在p[n-1]中。

设n = 100, s = 1, m = 10进行编程。

void Josegh(void)

{ int i,j,s1,w,q[100];

for(i=0;i

s1=s;

for(i=1; i<=n; i++) p[i-1]=i;

for(i=n; i>=2; i--)

{ s1=(s1+m-1)%i;

if(s1==0) s1=i;

w=p[s1-1];

for(j=s1; j

p[i-1]=w;

}

for(i=0,j=n-1;i=0;i++,j--) q[j]=p[i];

for(i=0;i

p[i]=q[i];

}

☆题目99(SIX/NINE问题)

下列程序prog1.c的功能是:计算出自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt以及满足此条件所有的SIX与NINE的和SUM。请编写函数countV alue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT15.DAT中。

其中的S,I,X,N,E各代表一个十进制数字。

部分源程序存在文件prog1.c中。

请勿改动主函数main()和输出数据函数writeDat()的内容。

#include

int cnt,sum;

void countValue()

{ int s,i,x,n,e,six,nine;

for(s=1;s<10;s++)

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

for(x=0;x<10;x++)

for(n=1;n<10;n++)

for(e=0;e<10;e++)

{ six=s*100+i*10+x;

nine=n*1000+i*100+n*10+e;

if(3*six==2*nine)

{ cnt++;sum+=six+nine;}

}

}

计算机三级网络技术题库详解

下列技术中,不属于宽带城域网Q o S保证技术的是()。 A) DiffServ B) MPLS C) EPON D) RSVP 下列关于接入技术特征的描述中,正确的是()。 A) ADSL技术具有非对称带宽特性 B) 远距离无线宽带接入网采用标准 C) 光纤传输系统的中继距离可达1000km以上 D) Cable Modem利用DWDM的方法将信道分为上行信道和下行信道 下列关于RPR技术的描述中,正确的是()。 A) RPR环能够在30ms内实现自愈 B) RPR环中每一个节点都执行DPT公平算法 C) RPR环将沿顺时针方向传输的光纤环叫做外环 D) RPR的内环与外环分别用于传输数据分组与控制分组 ITU标准OC-12的传输速率为()。 A) B) C) D) 下列关于路由器技术指标的描述中,错误的是()。 A) 吞吐量是指路由器的包转发能力 B) 背板能力决定了路由器的吞吐量 C) 语音、视频业务对延时抖动要求较高 D) 突发处理能力是以最小帧间隔值来衡量的 一台交换机总带宽为16Gbps,具有48个10/100Mbps电端口和若干个1000Mbps光端口,所有端口都工作在全双工状态,那么该交换机光端口数最多为()。 A) 1 B) 2 C) 3 D) 4 若服务器系统可用性达到%,那么每年的停机时间必须小于等于()。 A) 5分钟 B) 10分钟 C) 53分钟 D) 106分钟 子网掩码可写为()。 A) /16 B) /17 C) /18 D) /19 下图是网络地址转换NAT的一个示例

根据图中信息,转换表中(1)和(2)处的内容依次应为()。 A) 和 B) 和 C) 和 D) 和和 某公司分配给人事部、培训部和销售部的IP地址块分别为、和,三个地址块聚合后为()。 B) C) D) 下列IPv6地址表示中,错误的是()。 A) ::12D:BC:0:05E6 B) DA21:0:0:0:0:2A:F:FE08:32 C) BC21::10:0:1/48 D) FD60::2A90:FE:0:4CA2:943E 下列关于BGP协议的描述中,错误的是()。 A) 两个属于不同自治系统的边界路由器初始协商时要首先发送open分组 B) 两个BGP发言人需要周期性地交换keepalive分组来确认双方的相邻关系 C) 当路由发生变化时,BGP发言人使用notification分组通知相邻自治系统 D) 一个BGP发言人通过建立TCP连接与其他自治系统中BGP发言人交换路由信息 R1、R2是一个自治系统中采用RIP路由协议的两个相邻路由器,R1的路由表如下图(a)所示,当R1收到R2发送的如下图(b)的(V, D)报文后,R1更新的五个路由表项中距离值从上到下 依次为()。 A) 0、3、4、3、2 B) 0、4、4、3、2 C) 0、5、4、3、1 D) 0、5、4、3、2 下列关于OSPF协议的描述中,正确的是()。 A) 在一个区域内的路由器数可达300个 B) 每一个区域OSPF拥有一个30位的区域标识符 C) 一个OSPF区域内的路由器不知道其他区域的网络拓扑 D) 当链路状态发生变化时只需向相邻的路由器发送信息 下列关于集线器的描述中,错误的是()。 A) 连接到一个集线器的所有结点共享一个冲突域 B) 集线器是基于MAC地址识别完成数据转发的

全国计算机三级数据库技术上机试题道

1.【考点分析】本题考查对4位整数的排序。考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。【解题思路】此题属于4位数排序问题。本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。 本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。对于问题1可以通过算术运算的取余运算实现(aa[i]_x0010_00);问题2通过包含if判断语句的起泡排序法就可以实现。 【参考答案】 void jsSort() { int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换时的暂存变量*/ for(i=0;i<199;i++) /*用选择法对数组进行排序*/ for(j=i+1;j<200;j++) { if(aa[i]_x0010_00

{ temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } else if(aa[i]_x0010_00==aa[j]_x0010_00) /*如果后3位数相等*/ if(aa[i]>aa[j]) /*则要按原4位数的值进行升序排序*/ { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/ bb[i]=aa[i]; } 【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。 判断语句和if语言循环结构,C本题主要考查的知识点包括:【考点分析】2.

全国计算机等级考试三级网络技术笔试试题与答案详解

全国计算机等级考试三级网络技术笔试题 一、选择题(每小题1分,共60分) (1)我国“天河一号”超级计算机的计算速度为2.507Pflops,这里Pflops的P代表10的15次方,那么该浮点运算速度为每秒钟 a)2.507万亿次 b)2.507百万亿次 c)2.507千万亿次 d)2.507亿亿次 (2)关于计算机应用的描述中,错误的是 a)模拟核爆炸需要复杂的科学计算 b)中长期气象预报主要是事物处理 c)过程控制大多采用嵌入式计算装置 d)CAD、CAM改变了传统制造业的面貌 (3)关于工作站的描述中,正确的是 a)RISC加Unix曾是专业工作站主流 b)RISC加Windows曾是PC工作站主流 c)图形工作站不支持Open GL标准 d)工作站按体系结构份为CISC和VLIW两种 (4)关于计算机芯片技术描述中,错误的是 a)奔腾芯片是32位的 b)安腾芯片是64位的 c)哈佛结构把指令缓存与数据缓存分开 d)超流水线采用多条流水线执行多个处理 (5)关于软件概念的描述中,正确的是

a)汇编语言是符号化的机器语言,可在机器上直接运行 b)程序由指令序列组成,用自然语言直接编写 c)系统软件最核心部分是操作系统 d)软件按授权方式分为正版软件和盗版软件 (6)关于数据压缩的描述中,错误的是 a)多媒体信息存在数据冗余 b)图像压缩允许采用有损压缩 c)熵编码法属于无损压缩 d)哈夫曼编码属于有损压缩 (7)关于TCP/IP参考模型的描述中,正确的是 a)分为7个层次 b)最底层是互联层 c)由ISO组织制定 d)最高层是应用层 (8)如果网络结点传输1M字节数据需要0.002s,则该网络的数据传输速率为 a)5Gbps b)4Gbps c)500Mbps d)400Mbps (9)关于以太网帧结构的描述中,错误的是 a)目的地址与源地址使用IP地址 b)帧前定界符字段不计入帧头长度 c)数据字段的最小长度为46字节 d)帧校验字段采用32位UID额CRC校验

计算机三级题库

2009年3月计算机等级考试三级网络技术试卷及答案 作者: 宇创教研组来源: 部资料更新日期:2009-9-9 15:40:27 一、选择题(每小题1分,共60分) 下列各题A)、B)、C)、D )四个选项中,只有一项是正确的,请将正确选项写在括号。(1)1959年10月我国研制成功的一台通用大型电子管计算机是 ( )。 A)103计算机B)104计算机C)120计算机D)130计算机(2)关于计算机应用的描述中,错误的是( )。 A)模拟核爆炸是一种特殊的研究方法B)天气预报采用了巨型计算机处理数据 C)经济运行模型还不能用计算机模拟D)过程控制可采用低档的微处理器芯片(3)关于服务器的描述中,正确的是( )。 A)按体系结构分为入门级、部门级、企业级服务器 B)按用途分为台式、机架式、机柜式服务器 C)按处理器类型分为文件、数据库服务器 D)刀片式服务器的每个刀片是一块系统主板 (4)关于计算机配置的描述中,错误的是( )。 A)服务器机箱的个数用1U/2U/3U/....../8U表示 B)现在流行的串行接口硬盘是SATA硬盘 C)独立磁盘冗余阵列简称磁盘阵列 D)串行SCSI硬盘简称SAS硬盘 (5)关于软件开发的描述中,正确的是( )。

A)软件生命周期包括计划、开发两个阶段 B)开发初期进行需求分析、总体设计、详细设计 C)开发后期进行编码、测试、维护 D)软件运行和使用中形成文档资料 (6)关于多媒体的描述中,错误的是( )。 A)多媒体的数据量很大,必须进行压缩才能实用 B)多媒体信息有许多冗余,这是进行压缩的基础 C)信息熵编码法提供了无损压缩 D)常用的预测编码是变换编码 (7)关于数据报交换方式的描述中,错误的是( )。 A)在报文传输前建立源结点与目的结点之间的虚电路 B)同一报文的不同分组可以经过不同路径进行传输 C)同一报文的每个分组中都要有源地址与目的地址 D)同一报文的不同分组可能不按顺序到达目的结点 (8)IEEE802.11无线局域网的介质访问控制方法中,帧间间隔大小取决于( )。 A)接入点 B)交换机C)帧大小D)帧类型(9)以下网络应用中不属于Web应用的是( )。 A)电子商务B)域名解析C)电子政务D)博客(10)关于千兆以太网的描述中,错误的是( )。 A)与传统以太网采用相同的帧结构B)标准中定义了千兆介质专用接口 C)只使用光纤作为传输介质D)用GMII分割MAC子层与物理层(11)虚拟局域网的技术基础是( )。

2015年全国计算机等级考试三级网络技术真题及答案

2015年全国计算机等级考试三级网络技术真题及答案

一、选择题 下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)我国互联网界曾发生所谓3Q大战,根据你的了解它们发生在哪两个公司之间? A.3Com与百度之间 B.3Com与腾讯之间 C.奇虎360与百度之间 D.奇虎360与腾讯之间 (2)我国早期批量生产的计算机是 A.103计算机 B.104计算机 C.DJS-130计算机 D.PDP-130计算机 (3)关于客户机的描述中,错误的是

A.智能手机不能用作客户机 B.平板电脑能用作客户机 C.笔记本电脑能用作客户机 D.高端台式机能用作客户机 (4)关于笔记本电脑配置的描述中,正确的是 A.必须用Intel双核奔腾芯片 B.通常有多个USB接口 C.内存不超过1GB D.一般用nVIDIA网卡 (5)关于软件的描述中,错误的是 A.系统软件比应用软件更贴近硬件 B.软件由程序代码与相关文档组成 C.共享软件都是自由软件 D.数据库软件是应用软件 (6)关于多媒体的描述中,正确的是

(9)以太网帧的地址字段使用的是 A.MAC地址 B.IP地址 C.域名 D.端口号 (10)关于无线自组网的描述中,错误的是 A.是一种对等结构的无线网络 B.需要基站的支持 C.在军事领域中有较多的应用 D.可用WiFi技术实现联网 (11)IEEE802.15标准针对的网络是 A.无线个人区域网 B.无线传感器网 C.无线宽带城域网 D.无线局域网

(12)HTTP使用的著名端口号是 A.21 B.25 C.80 D.110 (13)关于交换式局域网的描述中,正确的是 A.采用共享介质 B.核心设备是交换机 C.只支持半双工通信 D.只支持1GpBs速率 (14)数据传输速率为5×106bps,可以记为 A.5Gbps B.5kbps C.5Tbps

2015年全国计算机等级考试三级网络技术真题及答案

2015年全国计算机等级考试三 级网络技术真题及答案 ?、选择题 下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 我国互联网界曾发生所谓3Q大战, 根据 你的了解它们发生在哪两个公司之间? A. 3Com与百度之间 B. 3Com 与腾讯之间 C. 奇虎360与百度之间 D. 奇虎360与腾讯之间 (2) 我国早期批量生产的计算机是

A. 103计算机 B. 104计算机 C. DJS-130 计算机 D. PDP-130 计算机 (3) 关于客户机的描述中,错误的是 A. 智能手机不能用作客户机 B. 平板电脑能用作客户机 C. 笔记本电脑能用作客户机 D. 高端台式机能用作客户机 (4) 关于笔记本电脑配置的描述中,的 正确是 A. 必须用Intel双核奔腾芯片 B. 通常有多个USB接口 C. 内存不超过1GB D. 一般用nVIDIA 网卡 (5) 关于软件的描述中,错误的是

A. 系统软件比应用软件更贴近硬件 B. 软件由程序代码与相关文档组成 C. 共享软件都是自由软件 D. 数据库软件是应用软件 (6) 关于多媒体的描述中,正确的是 A. 熵编码属于有损压缩 B. 源编码属于无损压缩 C. 有损压缩的压缩比小 D. 无损压缩是可逆的 (7) 关于OSI参考模型的描述中,正确的是 A. OSI参考模型由IETF制定 B. 按功能可以分为7个层次 C. OSI的含义是操作系统互连 D. 详细定义每层的实现技术 (8) 在TCP/IP 参考模型中,实现可靠到端通信的层次是

3月计算机三级上机题库及答案

3月计算机三级上机题库及答案 1.已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab-cd=10且ab-cd=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 ------------------------- PROG1.C #include #define MAX 200 int a[MAX], b[MAX], cnt = 0;

{int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I200;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)=10ab%2==1cd%2==1ab!=0cd!=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) ; }

2011年3月全国计算机三级网络技术考试真题及答案

2011年3月全国计算机三级网络技术考试真题及答案 一、选择题(每小题1分,共60分) 下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡 相应位置上,答在试卷上不得分。 1. 多媒体版本的"清明上河图"分成54个场景进行高分辨率扫描,每个场景约为58.3MB,那么全 图所需的存储容量是 A. 1.15GB B. 2.15GB C. 3.15GB D. 4.15GB 答案:C 【解析】:多媒体版本的“清明上河图”分成54个场景进行扫描,每个场景约为58.3M,全图需要的 存储容量为54*58.3 MB=3.15GB。 2. 关于计算机发展阶段的描述中,正确的是 A. 最早批量生产的大型主机是UNIVAC B. 著名的小型机是DG公司的PDP系列 C. 最早的微型机是IBM-PC D. 流行的小型机是DEC公司的Nova系列 答案:A 【解析】:最早批量生产的大型主机是埃克特-莫奇莱计算机公司的UNIVAC;著名的小型机是DEC公司的PDP系列;最早的微型机是美国苹果计算机公司的AppleⅡ微型计算机;流行的小型机是DEC公司的VAX-11系列小型计算机。 3. 关于服务器机器的描述中,错误的是 A. 企业级服务器是高端服务器 B. 服务器按体系结构分为RISC、CISC和VLIW三种 C. 入门级服务器不能提供E-mail服务 D. 采用刀片式服务器可以实现高密度的结构 答案:C 4. 关于计算机技术指标的描述中,正确的是 A. 奔腾芯片是32位的,双核奔腾芯片是64位的 B. 平均浮点指令执行速度的单位是MIPS C. 单字长定点指令平均执行速度的单位是MFLOPS D. 平均无故障时间指多长时间系统发生一次故障 答案:D 【解析】:奔腾芯片是32位的,双核奔腾芯片也是32位的;平均浮点指令执行速度的单位是MFLOPS;单字长定点指令平均执行速度的单位是MIPS。 5. 关于软件开发的描述中,错误的是 A. 软件开发包括计划、开发、运行三个阶段 B. 程序由指令序列组成,采用自然语言编写 C. 开发前期包括需求分析、总体设计、详细设计 D. 运行阶段主要是进行软件维护 答案:B 【解析】:因为现在的计算机还不能完全理解人类的自然语言,所以还不能直接用自然语言编写计算机程序。

2005年计算机等级考试三级上机题库(四)

2005年计算机等级考试三级上机题库(四) 第69题 下列程序的功能是:统计在tt字符串中'a'到'z'26个字母各自出现的次数,并存入pp 数组。请编写函数cnt(char *tt,int pp[])实现程序要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。(注:仅统计小写字母) 例如,当输入字符串:abcdefgabcdeabc后, 输出的结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数readwriteDAT()的内容。 第70题 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJL(),其函数的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT7.DAT中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 部分源程序存在文件prog1.c中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。 第71题 下列程序的功能是:设A,B,C为三个不为零的正整数,计算并输出下列不定方程组解的个数cnt以及满足此条件的所有A,B,C之和sum。 不定方程组为: A+B+C=13 A-C=5 请编写函数countValue实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。

浙江省计算机三级网络技术试题库完整

1)多年来,人们习惯于从计算机主机所使用的主要元器件把计算机的发展进行分代,所谓第4代计算机使用的主要元器件是___D_____。 A)电子管 B)晶体管C)中小规模集成电路D)大规模和超大规模集成电路 答案:D 知识点:计算机的发展阶段 评析:第4代计算机使用的主要元器件是大规模和超大规模集成电路。 (2)假设CD盘片的存储容量为600MB,上面存放的数字图像能以每秒25幅画面、每幅画面为360×240×65536色的分辨率播放l小时,则CD盘片上的数字图像的压缩比大约是________。 A)25倍 B)10倍 C)50倍 D)100倍 答案:A 知识点:数据压缩技术 评析:65536色是16位色,即每个像素占2个字节。现在l帧有360×240=86400个像素点,需要172800个字节的存储空间,1秒25帧则需要4320000个字节的存储空间,l小时是3600秒需要(约15000MB)个字节的存储空间。现在,这15000MB数据存储在600MB的光盘上,其压缩比例也就不难算出:约15000/600=25倍。 (3)Internet主要由___B_____、通信线路、服务器与客户机和信息资源四部分组成。 A)网关B)路由器C)网桥 D)集线器 答案:B 知识点:Internet的基本结构与主要服务 评析:Internet的主要组成部分 ①通信线路;②路由器:③服务器与客户机;④信息资源。 (4)在IP协议中用来进行组播的IP地址是____C____地址。 A)A类 B)C类 C)D类 D)E类 答案:C 知识点:TCP/IP协议 评析:在TCP/IP协议中,将IP地址分成5类。其中A、B、C类地址作为单目传送地址。E 类地址保留,以备将来的特殊用途,而D类地址作为组播地址。 (5)文件服务器具有分时系统文件管理的全部功能,能够为用户提供完善的数据、文件和__A______。 A) 目录服务 B)视频传输服务 C)数据库服务 D)交换式网络服务 答案:A 知识点:操作系统的功能 评析:文件服务器应具有分时系统文件管理的全部功能,它支持文件的概念与标准的文件操作,提供网络用户访问文件、目录的并发控制和安全措施。因此,文件服务器应具备完善的文件管理功能,能够对全网实行统一的文件管理,各工作站用户可以不参与文件管理工作。文件服务器能为网络用户提供完善的数据、文件和目录服务。 (6)半个世纪以来,对计算机发展的阶段有过多种描述。下述说法中,比较全面的描述是________。 A)计算机经过四个发展阶段,电子管阶段、晶体管阶段、集成电路阶段、超大规模集成电器

2015年全国计算机等级考试三级网络技术真题及答案

(如有雷同不要介意) 一、选择题 下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)我国互联网界曾发生所谓3Q大战,根据你的了解它们发生在哪两个公司 (D) 之间? A.3Com与百度之间 B.3Com与腾讯之间 C.奇虎360与百度之间 D.奇虎360与腾讯之间 (B) (2)我国早期批量生产的计算机是 A.103计算机 B.104计算机 C.DJS-130计算机 D.PDP-130计算机 (C) (3)关于客户机的描述中,错误的是 A.智能手机不能用作客户机 B.平板电脑能用作客户机 C.笔记本电脑能用作客户机 D.高端台式机能用作客户机 (B) (4)关于笔记本电脑配置的描述中,正确的是 A.必须用Intel双核奔腾芯片 B.通常有多个USB接口 C.内存不超过1GB D.一般用nVIDIA网卡 (C) (5)关于软件的描述中,错误的是 A.系统软件比应用软件更贴近硬件

B.软件由程序代码与相关文档组成 C.共享软件都是自由软件 D.数据库软件是应用软件 (D) (6)关于多媒体的描述中,正确的是 A.熵编码属于有损压缩 B.源编码属于无损压缩 C.有损压缩的压缩比小 D.无损压缩是可逆的 (B) (7)关于OSI参考模型的描述中,正确的是 A.OSI参考模型由IETF制定 B.按功能可以分为7个层次 C.OSI的含义是操作系统互连 D.详细定义每层的实现技术 (D) (8)在TCP/IP参考模型中,实现可靠到端通信的层次是 A.数据链路层 B.物理层 C.网络层 D.传输层 (A) (9)以太网帧的地址字段使用的是 A.MAC地址 B.IP地址 C.域名 D.端口号 (B) (10)关于无线自组网的描述中,错误的是 A.是一种对等结构的无线网络 B.需要基站的支持 C.在军事领域中有较多的应用

计算机三级数据库考试题及答案

计算机三级数据库考试题及答案 数据库是计算机等级考试的难点之一,接下来gkstk帮大家整理了数据库考试题库,希望为大家提高考试成绩有所帮助! 1[单选题] 下列关于浏览器/服务器架构中的应用服务器的说法中,错误的是__________。 A.应用服务器一般运行程序代码,实现面向应用领域的业务规则 B.应用服务器会根据用户请求连接相应的数据库,获取数据,并将结果返回给用户 C.应用服务器一般需要具有数据访问和数据存储功能 D.应用服务器一般提供了集群、负载均衡等公共服务,可以大幅度提高系统性能和可靠性 参考答案:C 2[填空题]数据库总体设计的主要内容包括__________、 __________、__________和__________。 参考解析:体系结构设计软件总体设计 软硬件选型与配置设计业务规则初步设计

3[单选题]如果有两个事务,同时对数据库中同一数据进行操作,不可能引起冲突的操作是 A.其中有一个是DELETE B.一个是SELECT,另一个是UPDATE C.两个都是SELECT D.两个都是UPDATE 参考答案:C 4[填空题]一个完整的事务概要设计包括:事务名称、事务所访问的关系名及其属性名、事务的( ) 及事务用户。 参考解析:处理逻辑 5[单选题]浏览器/服务器架构是现阶段非常流行的数据库应用系统架构。在此架构中,应用服务器起到了非常重要的作用。计算机三级数据库考试题及答案计算机三级数据库考试题及答案。下列关于应用服务器的说法,错误的是( ) A.应用服务器一般运行程序代码,实现面向具体应用领域的业务规则,数据库服务器承担数据存储、管理等功能

计算机三级网络技术真题集

2018年3月计算机等级测试三级网络技术笔试 一、选择题 (1>多媒体版本的“清明上河图”分成54个场景进行高分辨率扫描,每个场景约为58.3MB,那么全图所需的存储容量是 A>1.15GB B>2.15GB C>3.15GB D>4.15GB (2>关于计算机发展阶段的描述中,正确的是 A>最早批量生产的大型主机是UNIV AC B>著名的小型机是DG公司的PDP系列 C>最早的微型机是IBM-PC D>流行的小型机是DEC公司的Nova系列 (3>关于服务器机器的描述中,错误的是 A>企业级服务器是高端服务器 B>服务器按体系结构分为RISC、CISC和VLIW三种 C>入门级服务器不能提供E-mail服务D>采用刀片式服务器可以实现高密度的结构 (4>关于计算机技术指标的描述中,正确的是 A>奔腾芯片是32位的,双核奔腾芯片是64位的 B>平均浮点指令执行速度的单位是MIPS C>单字长定点指令平均执行速度的单位是MFLOPS D>平均无故障时间指多长时间系统发生一次故障 (5>关于软件开发的描述中,错误的是 A>软件开发包括计划、开发、运行三个阶段 B>程序由指令序列组成,采用自然语言编写 C>开发前期包括需求分析、总体设计、详细设计D>运行阶段主要是进行软件维护 (6>关于数据压缩的描述中,正确的是 A>多媒体信息存在许多数据冗余 B>图像压缩不容许采用有损压缩 C>熵编码法属于有损压缩 D>国际标准大多采用单一压缩方法 (7>关于OSI参考模型的描述中,正确的是 A>不同节点的不一同层通过协议通信 B>高层需要知道低层的实现方法 C>不同节点的同等层具有相同功能D>高层通过接口为低层提供服务 (8>如果网络节点传输1字节数据需要1×10-9s,则该网络的数据传输速率为 A> 8MbpsB>80Mbps C> 800Mbps D> 8Gbps (9>关于以太网帧结构的描述中,错误的是 A>数据字段保存高层待发的数据B>前导码字段的长度计入帧头长度 C>类型字段表示协议类型 D>目的地址字段是目的节点的硬件地址 (10>在TCP/IP参考模型中,与OSI参考模型的网络层对应的是 A>主机-网络层 B>传输层 C>互联层 D>应用层 (11>FTP协议实现的基本功能是 A>文件传输 B>域名解读 C>邮件接收 D>网络管理 (12>关于百兆以太网的描述中,正确的是 A>只支持屏蔽双绞线与光纤 B>协议标准是IEEE802.3u C>通常称为交换式以太网 D>介质独立接口缩写为GMⅡ (13>IEEE 802.11支持的网络类型是 A>光纤传感网 B>无线VPN C>无线广域网D>无线局域 (14>关于计算机网络的描述中,错误的是 A>主要目的是实现计算机资源的共享 B>联网计算机可以访问本地与远程资源 C>联网计算机之间有明显的主从关系 D>联网计算机遵循相同的网络协议 (15>以太网帧数据字段的最大长度是

计算机三级历年真题及复习资料

09年3月全国计算机等级考试三级网络真题(答案不对的请指正) 2009-09-13 18:00 (1)1959年10月我国研制成功的一台通用大型电子管计算机是B A)103计算机 B)104计算机 C)720计算机 D)l30计算机 (2)关于计算机应用的描述中,错误的是c A)模拟核爆炸是一种特殊的研究方法 B)天气预报采用了巨型计算机处理数据 C)经济运行模型还不能用计算机模拟 D)过程控制可采用低档微处理器芯片 (3)关于服务器的描述中,正确的是d A)按体系结构分为入门级、部门级、企业级服务器 B)按用途分为台式、机架式、机柜式服务器 C)按处理器类型分为文件、数据库服务器 D)刀片式服务器的每个刀片是一块系统主板 (4)关于计算机配置的描述中,错误的是a A)服务器机箱的个数用1U/2U/3U/……/8U表示 B)现在流行的串行接口硬盘是SA TA硬盘 C)独立磁盘冗余阵列简称磁盘阵列 D)串行SCSI硬盘简称SAS硬盘 (5)关于软件开发的描述中,正确的是B A)软件生命周期包括计划、开发两个阶段 B)开发初期进行需求分析、总体设计、详细设计 C)开发后期进行编码、测试、维护 D)软件运行和使用中形成文档资料 (6)关于多媒体的描述中,错误的是D A)多媒体的数据最很大,必须进行压缩才能实用 B)多媒体信息有许多冗余,这是进行压缩的基础 C)信息熵编码法提供了无损压缩 D)常用的预测编码是变换编码 (7)关于数据报交换方式的描述中,错误的是a A)在报文传输前建立源结点与目的结点之间的虚电路 B)同一报文的不同分组可以经过不同路径进行传输 C)同一报文的每个分组中都要有源地址与目的地址 D)同一报文的不同分组可能不按顺序到达目的结点 (8)IEEE 802.11无线局域网的介质访问控制方法中,帧间间隔大小取决于d A)接入点 B)交换机 C)帧大小 D)帧类型 (9)以下网络应用中不属于Web应用的是B A)电子商务

全国计算机三级数据库考试题

全国计算机三级数据库试题 1、把电路中的所有元件如晶体管、电阻、二极管等都集成在一个芯片上的元件称为( ) (本题分值:1分)【正确答案】B A.Transistor B.Integrated Circuit https://www.wendangku.net/doc/9414180935.html,puter D.Vacumm Tube 2.ENIAC所用的要紧元件是( ) (本题分值:1分)【正确答案】C A.集成电路 B.晶体管 C.电子管 D.以上答案都不对 3、假如以链表为栈的存储结构,则退栈操作时( ) (本题分值:1分)【正确答案】 B A.必须判不栈是否满 B.必须判不栈是否空

C.判不栈元素的类型 D.对栈不作任何判不 4、用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是( ) (本题分值:1分)【正确答案】 C A.94、32、40、90、80、46、21、69 B.32、40、21、46、69、94、90、80 C.21、32、46、40、80、69、90、94 D.90、69、80、46、21、32、94、40 5、设数组data[0…m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队 操作的语句为( ) (本题分值:1分)【正确答案】 D A.front:=front 1 B.front:=(front 1) mod m C.rear:=(rear 1) mod m D.front:=(front 1) mod (m 1) 6、用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分不为front和rear,则循环队列中当前元

素的个数为( ) (本题分值:1分)【正确答案】 A A.(rear-front m) mod m B.(rear-front 1) mod m C.(rear-front-1 m) mod m D.(rear-front) mod m 7、链栈与顺序栈相比,有一个比较明显的优点是( ) (本题分值:1分)【正确答案】 B A.插入操作更加方便 B.通常可不能出现栈满的情况 C.可不能出现栈空的情况 D.删除操作更加方便 8、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入 队列Q,若6个元素出栈的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是( ) (本题分值:1分)【正确答案】 C A.6 B.4 C.3

计算机等级考试三级2018年网络技术真题及答案

全国计算机等级考试三级网络技术 2018 年笔试试卷 (考试时间120 分钟,满分100 分) 一、选择题(每小题 1 分,共60 分) (1)我们经常所说的“网络就是计算机”。你知道这曾经是哪家公司提出的理念?()A)IBM 公司B)HP 公司 C)SUN 公司D)HP 公司 (2)有一条指令用十六进制表示为CD21,用二进制表示为()。 A)1101110000100001 B)110011010010000l C)1100110100010010 D)1101110000010010 (3)系统的可靠性通常用平均无故障时间表示,它的英文缩写是()。 A)MTBF B)MTTR C)ETBF D)ETTR (4)通过多机协作,可以共同解决一个复杂的大问题。在奔腾芯片中,支持这项技术的是()。 A)超标量技术B)超流水技术 C)多线程技术D)多重处理技术 (5)PnP 主板主要是支持()。 A)多种芯片集B)大容量存储器 C)即插即用D)宽带数据总线 (6)在软件生命周期中,下列哪个说法是不准确的?() A)软件生命周期分为计划、开发和运行 3 个阶段B) 在计划阶段要进行问题定义和需求分析C)在开发后期要 进行编写代码和软件测试D)在运行阶段主要是进行软件 维护 (7)网络操作系统要求网络用户在使用时不必了解网络的()。 I.拓扑结构II.网络协议III.硬件结构 A)仅I 和II B)仅II 和III C)仅I 和III D)全部 (8)IPv6 的地址长度为()。 A)32 位B)64 位 C)128 位D)256 位 (9)城域网设计的目标是满足城市范围内的大量企业、机关与学校的多个()。 A)局域网互联B)局域网与广域网互联C)广域网 互联D)广域网与广域网互联 (10)光纤作为传输介质的主要特点是()。 I.保密性好II.高带宽III.低误码率Ⅳ.拓扑结构复杂 A)I、II 和IV B)I、II 和III

三级网络技术试题及答案

三级网络技术试题及答案 一、单选题 1、下面正确描述T568A 标准的线序的是( A )。 A、白绿绿白橙蓝白蓝橙白棕棕 B、白橙橙白绿蓝白蓝绿白棕棕 C、白绿绿白橙白蓝蓝橙白棕棕 D、白棕棕白橙蓝白蓝橙白绿绿 2、下列( A )设备可以隔离ARP广播帧。 A. 路由器 B. 网桥 C. 以太网交换机 D. 集线器 3、Hub是(C )简称。 A. 网卡 B. 交换机 C. 集线器 D. 路由器 4、网络接口卡位于OSI模型的(A) A.数据链路层 B.传输层 C.物理层 D.表示层

5、路由器的缺点是(D )。 A. 不能进行局域网联接 B. 成为网络瓶颈 C. 无法隔离广播 D. 无法进行流量控制 6、( C )是因特网中最重要的设备,它是网络与网络连接的桥梁 A.中继站 B.集线器 C.路由器 D.服务器 7、为了构建一个具有四台计算机的简单网络,可以把它们与( C )进行连接? A、交叉连接电缆 B、串行线路 C、集线器 D、路由器 8、网卡实现的主要功能是(C ) A. 物理层与网络层的功能 B. 网络层与应用层的功能 C.物理层与数据链路层的功能 D. 网络层与表示层的功能

9、10 BASE 2网络结构中可以使用中继器的最多数目为( B )。 A.5个 B.4个 C.3个 D.6个 10、双绞线绞合的目的是(C )。 A.增大抗拉强度 B.提高传送速度 C.减少干扰 D.增大传输距离 11、Ethernet交换机是利用端口/MAC地址映射表进行数据交换的,交换机动态建立和维护端口/MAC地址映射表的方法是( B)。 A..是由交换机的生产厂商建立的 B.是交换机在数据转发过程中通过学习动态建立的 C.是由网络管理员建立的 D.是由网络用户利用特殊的命令建立的 12、在常用的传输介质中,( C )的带宽最宽,信号传输衰减最小,抗干扰能力最强。 A.双绞线 B.同轴电缆

计算机三级数据库上机题库

1.调用函数rwdata(),从IN.dat文件中读取10组数据(m和k值),并嵌套调用primenum函数分别得出array[]数组。请编写函数primenum(int m,int k,int array[]),该函数的功能是:将紧靠m的k个素数存入数组array并在屏幕上显示。最后把结果输出到文件OUT.dat中。例如,若输入3 9,则应输出5 7 11 13 17 19 23 29 31。 注意:部分程序已经给出。请勿改动主函数main()和输出数据函数rwdata()的内容。 #include #include void rwdata(); void primenum(int m, int k, int array[]) { } main() { int m, n, array[1000]; printf("\nPlease enter two integers:"); scanf("%d%d", &m, &n); primenum(m, n, array); for (m=0; m

2011年2012年2013年2014年全国计算机等级考试三级网络技术真题及答案详解

2013年全国计算机等级考试三级笔试试卷三级网络技术 (考试时间120分钟,满分100分) 一、选择题(每小题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)我国互联网界曾发生所谓3Q大战,根据你的了解它们发生在哪两个公司之间? A)3Com与百度之间B)3Com与腾讯之间 C)奇虎360与百度之间D)奇虎360与腾讯之间 (2)我国早期批量生产的计算机是 A)103计算机B)104计算机 C)DJS-130计算机D)PDP-130计算机 (3)关于客户机的描述中,错误的是 A)智能手机不能用作客户机B)平板电脑能用作客户机 C)笔记本电脑能用作客户机D)高端台式机能用作客户机 (4)关于笔记本电脑配置的描述中,正确的是 A)必须用Intel双核奔腾芯片 B)通常有多个USB接口 C)内存不超过1GB D)一般用nVIDIA网卡 (5)关于软件的描述中,错误的是 A)系统软件比应用软件更贴近硬件 B)软件由程序代码与相关文档组成 C)共享软件都是自由软件 D)数据库软件是应用软件 (6)关于多媒体的描述中,正确的是 A)熵编码属于有损压缩 B)源编码属于无损压缩 C)有损压缩的压缩比小 D)无损压缩是可逆的 (7)关于OSI参考模型的描述中,正确的是 A)OSI参考模型由IETF制定 B)按功能可以分为7个层次 C)OSI的含义是操作系统互连 D)详细定义每层的实现技术 (8)在TCP/IP参考模型中,实现可靠到端通信的层次是 A)数据链路层B)物理层C)网络层D)传输层 (9)以太网帧的地址字段使用的是 A)MAC地址B)IP地址C)域名D)端口号

计算机三级网络应用技术真题

2009年3月全国计算机等级考试三级网络技术笔试试题 一、选择题(每小题1分,共60分) 1、1959年10月我国研制成功的一台通用大型电子管计算机是() A)103计算机B)104计算机C)720计算机D)l30计算机 2、关于计算机应用的描述中,错误的是() A)模拟核爆炸是一种特殊的研究方法B)天气预报采用了巨型计算机处理数据 C)经济运行模型还不能用计算机模拟D)过程控制可采用低档微处理器芯片 3、关于服务器的描述中,正确的是() A)按体系结构分为入门级、部门级、企业级服务器B)按用途分为台式、机架式、机柜式服务器C)按处理器类型分为文件、数据库服务器D)刀片式服务器的每个刀片是一块系统主板4、关于计算机配置的描述中,错误的是() A)服务器机箱的个数用1U/2U/3U/……/8U表示B)现在流行的串行接口硬盘是SATA硬盘C)独立磁盘冗余阵列简称磁盘阵列D)串行SCSI硬盘简称SAS硬盘 5、关于软件开发的描述中,正确的是() A)软件生命周期包括计划、开发两个阶段B)开发初期进行需求分析、总体设计、详细设计C)开发后期进行编码、测试、维护D)软件运行和使用中形成文档资料 6、关于多媒体的描述中,错误的是() A)多媒体的数据最很大,必须进行压缩才能实用B)多媒体信息有许多冗余,这是进行压缩的基础C)信息熵编码法提供了无损压缩D)常用的预测编码是变换编码 7、关于数据报交换方式的描述中,错误的是() A)在报文传输前建立源结点与目的结点之间的虚电路 B)同一报文的不同分组可以经过不同路径进行传输 C)同一报文的每个分组中都要有源地址与目的地址 D)同一报文的不同分组可能不按顺序到达目的结点 8、IEEE 802.11无线局域网的介质访问控制方法中,帧间间隔大小取决于() A)接入点B)交换机C)帧大小D)帧类型 9、以下网络应用中不属于Web应用的是() A)电子商务B)域名解析C)电子政务D)博客 10、关于千兆以太网的描述中,错误的是() A)与传统以太网采用相同的帧结构B)标准中定义了千兆介质专用接口 C)只使用光纤作为传输介质D)用GMII分隔MAC子层与物理层 11、虚拟局域网的技术基础是() A)路由技术B)带宽分配C)交换技术D)冲突检测 12、关于OSI参考模型的描述中,正确的是() A)高层为低层提供所需的服务B)高层需要知道低层的实现方法 C)不同结点的同等层有相同的功能D)不同结点需要相同的操作系统 13、如果网络结点传输10bit数据需要1×10-8s,则该网络的数据传输速率为() A)10Mbps B)1Gbps C)100Mbps D)10Gbps

相关文档
相关文档 最新文档