9三级网络技术机试题库答案精简版.docx
《9三级网络技术机试题库答案精简版.docx》由会员分享,可在线阅读,更多相关《9三级网络技术机试题库答案精简版.docx(54页珍藏版)》请在冰豆网上搜索。
9三级网络技术机试题库答案精简版
1【审题关键句】将大于整数m且紧靠m的k个素数存入数组。
【参考答案】
intcnt=0;
while(cnt{
m++;
if(isP(m))xx[cnt++]=m;}
2【审题关键句】求素数的个数及平均值,并计算非素数的平均值。
【参考答案】
inti;for(i=0;i<300;i++)
{
if(isP(a[i]))
{pjz1+=a[i];cnt++;}
elsepjz2+=a[i];}
pjz1/=cnt;pjz2/=(300-cnt);
3【审题关键句】100以内(含100)满足i、i+4、i+10都是素数的整数的个数以及这些i之和。
【参考答案】
inti;for(i=3;i<90;i++)
{if(isPrime(i)&&isPrime(i+4)&&isPrime(i+10)){cnt++;sum+=i;}
}
4【审题关键句】求素数的个数,存入数组,按从小到大的顺序排序。
【参考答案】
inti,j,tmp;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])
{tmp=b[j];b[j]=b[i];b[i]=tmp;}
}
}
5【审题关键句】选出100以上、1 000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数,计算并输出上述这些素数的个数以及这些素数值的和。
【参考答案】
inti,bw,sw,gw;for(i=100;i<1000;i++)
{bw=i/100;sw=(i-bw*100)/10;gw=i%10;if((gw+sw)%10==bw&&isP(i))
{cnt++;sum+=i;}
}
6【审题关键句】计算500~800区间内素数的个数,素数的值从大到小排序,再计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值。
【参考答案】
inti,j=-1;
for(i=800;i>500;i--)
{if(isPrime(i))
{cnt++;j*=-1;sum+=j*i;}
}
第2类数位分解后按数筛选统计并排序
7【审题关键句】千位+十位组合与个位+百位组合,都是奇数,两数相减结果大于等于0小于等于10,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,j,newV1,newV2;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
newV1=qw*10+sw;newV2=gw*10+bw;if(qw&&gw&&(newV1-newV2>0&&newV1-newV2<=10)&&(newV1%2)&&(newV2%2))b[cnt++]=a[i];}
for(i=0;ifor(j=i+1;jif(b[i]
{newV1=b[j];
b[j]=b[i];
b[i]=newV1;
}
8【审题关键句】千位+十位组合与个位+百位组合,素数,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,newV1,newV2,j;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
newV1=qw*10+sw;
newV2=gw*10+bw;
if(qw&&gw&&isprime(newV1)&&isprime(newV2))b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]
{newV1=b[j];
b[j]=b[i];
b[i]=newV1;
}
9【审题关键句】千位+十位与个位+百位,比较大小,整除,奇偶数判断,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,newV1,newV2,j;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
newV1=qw*10+sw;
newV2=gw*10+bw;
if(qw&&gw&&(newV1}
for(i=0;ifor(j=i+1;jif(b[i]
{newV1=b[j];
b[j]=b[i];
b[i]=newV1;
}
10【审题关键句】个位+千位与百位+十位,偶数,整除,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,newV1,newV2,j;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
newV1=gw*10+qw;newV2=bw*10+sw;if(gw&&bw&&(newV1%2==0)&&(newV2%2==0)&&(newV1%9==0||newV2%9==0))b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]
{newV1=b[j];
b[j]=b[i];
b[i]=newV1;
}
11【审题关键句】个位+千位与百位+十位,奇数,偶数,整除,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,newV1,newV2,j;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
newV1=gw*10+qw;newV2=bw*10+sw;if(gw&&bw&&(((newV1%2==0)&&(newV2%2)&&(newV1%17==0||newV2%17==0))||((newV1%2)&&(newV2%2==0)&&(newV1%17==0||newV2%17==0))))b[cnt++]=a[i];}
for(i=0;ifor(j=i+1;jif(b[i]
{newV1=b[j];
b[j]=b[i];
b[i]=newV1;
}
12【审题关键句】千位+个位与百位+十位,奇数,整除,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,newV1,newV2,j;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
newV1=qw*10+gw;newV2=bw*10+sw;if(qw&&bw&&(newV1%2)&&(newV2%2)&&((newV1%5)==0||(newV2%5)==0))b[cnt++]=a[i];}
for(i=0;ifor(j=i+1;jif(b[i]
{newV1=b[j];
b[j]=b[i];
b[i]=newV1;
}
13【审题关键句】千位+十位与个位+百位,都是偶数,两数相减结果大于等于10小于等于20,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,newV1,newV2,j;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
newV1=qw*10+sw;
newV2=gw*10+bw;
if(qw&&gw&&(newV1-newV2>=10&&newV1-newV2<=20)&&(newV1%2==0)&&(newV2%2==0))b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]
{newV1=b[j];
b[j]=b[i];
b[i]=newV1;
}
14【审题关键句】千位+十位与个位+百位,比较大小,整除,奇数,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,newV1,newV2,j;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
newV1=qw*10+sw;
newV2=gw*10+bw;
if(qw&&gw&&(newV1>newV2)&&(newV1%2==0&&newV1%5==0)&&(newV2%2))b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]
{newV1=b[j];
b[j]=b[i];
b[i]=newV1;
}
15【审题关键句】各位都是偶数,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,j,ab;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
if((qw%2==0)&&(bw%2==0)&&(sw%2==0)&&(gw%2==0))b[cnt++]=a[i];}
for(i=0;ifor(j=i+1;jif(b[i]
{ab=b[j];
b[j]=b[i];
b[i]=ab;
}
16【审题关键句】各位都是奇数,从大到小排序。
【参考答案】
intqw,bw,sw,gw,i,j,ab;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
if((qw%2)&&(bw%2)&&(sw%2)&&(gw%2))b[cnt++]=a[i];}
for(i=0;ifor(j=i+1;jif(b[i]
{ab=b[j];
b[j]=b[i];
b[i]=ab;
}
17【审题关键句】完全平方根,有两个相同数。
【参考答案】
intn,k,a,b,c,cnt=0;for(k=10;;k++)
{n=k*k;if(n<100)continue;if(n>999)break;a=n/100;b=n%100/10;c=n%10;if((a-b)*(a-c)*(b-c)==0)
{printf("N=%d=%d*%d\n",n,k,k);
bb[cnt++]=n;}
}
returncnt;第4类根据相邻数大小进行筛选统计并排序
18【审题关键句】同时被3和7整除的自然数和的平方根。
【参考答案】
inti;
doublesum=0.0;
for(i=7;i19【审题关键句】被7或11整除但不能同时被7和11整除的所有整数
【参考答案】
inti;
*n=0;
for(i=7;i<=1000;i++)
if(((i%7)==0||(i%11)==0)&&(i%77!
=0))a[(*n)++]=i;
20【审题关键句】最大数及其个数,同时被3或7整除的整数的算术平均值。
【参考答案】
inti,cnt1=0;
max=0;cnt=0;pj=0.0;
for(i=0;i{if((xx[i]%3)==0||(xx[i]%7)==0){
pj+=xx[i];cnt1++;}
if(xx[i]>max)
{max=xx[i];cnt=1;}
elseif(xx[i]==max)cnt++;
}
pj/=(float)cnt1;
21【审题关键句】按每个数的后三位升序排列,然后取出满足此条件的前10个数依次存入数组,如果后三位的数值相等,则按原先的数值进行降序排列。
【参考答案】
inti,j,m;for(i=0;i<199;i++)for(j=i+1;j<200;j++)
{if((aa[i]%1000)>(aa[j]%1000))
{m=aa[i];aa[i]=aa[j];aa[j]=m;}
elseif((aa[i]%1000)==(aa[j]%1000))
{if(aa[i]{m=aa[i];aa[i]=aa[j];aa[j]=m;}
}
}
for(i=0;i<10;i++)
bb[i]=aa[i];
22【审题关键句】按每个数的后三位降序排列,然后取出满足此条件的前10个数依次存入数组;如果后三位的数值相等,则按原先的数值进行升序排列。
【参考答案】
inti,j,m;
for(i=0;i<199;i++)
for(j=i+1;j<200;j++)
{if((aa[i]%1000)<(aa[j]%1000))
{m=aa[i];
aa[i]=aa[j];
aa[j]=m;
}
elseif((aa[i]%1000)==(aa[j]%1000))
{
if(aa[i]>aa[j]){
m=aa[i];
aa[i]=aa[j];
aa[j]=m;
}
}
}
for(i=0;i<10;i++)
bb[i]=aa[i];
23【审题关键句】四位数的千位<=百位<=十位<=个位,且四位数是偶数,统计出满足此条件的个数,按从小到大的顺序存入数组。
【参考答案】
intqw,bw,sw,gw,i,j,ab;
for(i=0;i{qw=a[i]/1000;gw=a[i]%10;bw=(a[i]-qw*1000)/100;sw=(a[i]-qw*1000-bw*100)/10;if((qw<=bw&&bw<=sw&&sw<=gw)&&(a[i]%2==0))b[cnt++]=a[i];}
for(i=0;ib[j])
{ab=b[j];b[j]=b[i];b[i]=ab;}
24【审题关键句】四位数的千位>=百位>=十位>=个位,且四位数是奇数,统计出满足此条件的个数,按从小到大的顺序存入数组。
【参考答案】
intqw,bw,sw,gw,i,j,ab;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
if((qw>=bw&&bw>=sw&&sw>=gw)&&(a[i]%2))b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{ab=b[j];
b[j]=b[i];
b[i]=ab;
}
25【审题关键句】千位-百位-十位-个位,结果大于等于零且原四位数是奇数,统计出满足此条件的个数,并按从小到大的顺序存入数组。
【参考答案】
intqw,bw,sw,gw,i,j,ab;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
if((qw-gw-bw-sw>=0)&&(a[i]%2))b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{ab=b[j];
b[j]=b[i];
b[i]=ab;
}
26【审题关键句】个位-千位-百位-十位,结果大于等于零且原四位数是偶数,统计出满足此条件的个数,并按从小到大的顺序存入数组。
【参考答案】
intqw,bw,sw,gw,i,j,ab;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
if((gw-qw-bw-sw>=0)&&(a[i]%2==0))b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{ab=b[j];
b[j]=b[i];
b[i]=ab;
}
27【审题关键句】千位+个位等于百位+十位,且原四位数是奇数,统计出满足此条件的个数,并按从小到大的顺序存入数组。
【参考答案】
intqw,bw,sw,gw,i,j,ab;
for(i=0;i{qw=a[i]/1000;
gw=a[i]%10;
bw=(a[i]-qw*1000)/100;
sw=(a[i]-qw*1000-bw*100)/10;
if((qw+gw-bw-sw==0)&&(a[i]%2))b[cnt++]=a[i];
}
for(i=0;ifor(j=i+1;jif(b[i]>b[j])
{ab