三级网络技术 机试100道题.doc_第1页
三级网络技术 机试100道题.doc_第2页
三级网络技术 机试100道题.doc_第3页
三级网络技术 机试100道题.doc_第4页
三级网络技术 机试100道题.doc_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

第一题【参考答案】int cnt = 0; /定义变量cnt并初值等于0while(cnt k) /当cnt的值小于k时 m+; /变量m加1 if(isP(m) xxcnt+ = m; /如果m为素数,则把其赋给数组元素xxcnt,并且数组的下标cnt加1 第2题【参考答案】int i; /定义变量ifor(i = 0; i 300; i+) /循环变量i从0依次递增到299if(isP(ai) /判断数组元素ai是否素数 pjz1 += ai; /把ai累加到变量pjz1 cnt+; /变量cnt加1 else pjz2 += ai; /否则,把数组元素ai累加到变量pjz2pjz1 /= cnt; /所有素数的和pjz1除以素数的个数cnt,得到素数的平均值并赋给变量pjz1pjz2 /= (300 - cnt); /所有非素数的和pjz2除以非素数的个数300-cnt,得到非素数的平均值并赋给变量pjz2第3题【参考答案】int i; /定义变量ifor(i = 3; i 90; i+) /循环变量i从3开始,依次递增,直到小于90if(isPrime(i) & isPrime(i + 4) & isPrime(i + 10) /如果i,i+4,5i+10同时为素数 cnt+; sum += i; /变量cnt加1,变量i累加到sum 第4题【参考答案】int i, j, tmp; /定义整型变量i, j, tmpfor(i = 0; i 300; i+) /循环变量i从0依次递增到299 if(isP(ai) bcnt+ = ai; /如果数组元素ai是素数,则把ai赋给bcnt,同时数组下标变量cnt加1for(i = 0; i cnt; i+) /循环变量i从0开始依次递增,直到其值等于cntfor(j = i + 1; j bj) /如果数组元素bi大于bj,则进行互换 tmp = bj; /把bj的值赋给变量tmp bj = bi; /把bi的值赋给bj bi = tmp; /把变量tmp的值赋给bi 第5题【参考答案】int i, bw, sw, gw; /定义整型变量i, bw, sw, gwfor(i = 100; i 500; i-) /循环变量i从800开始,每次减1,直到其值等于500if(isPrime(i) /如果i是素数 cnt+; /变量cnt加1 j *= -1; /变量j乘以-1,变号 sum += j * i; /把变量j与i的积累加到变量sum上 第2类 数位分解后按数筛选统计并排序第7题【参考答案】int i, j, m; /定义整型变量i, j, mfor(i = 0; i 199; i+) /循环变量i从0开始,每次递增1,直到其值等于199for(j = i + 1; j (aaj % 1000) /如果aai的后三位大于aaj的后三位,则进行互换 m = aai; /把aai的值赋给m aai = aaj; /把aaj的值赋给aai aaj = m; /把m的值赋给aaj else if(aai % 1000) = (aaj % 1000) /如果aai的后三位等于aaj的后三位 if(aai aaj) /如果aai小于aaj,则进行互换 m = aai; /把aai的值赋给m aai = aaj; /把aaj的值赋给aai aaj = m; /把m的值赋给aaj for(i = 0; i 10; i+) bbi = aai; /循环变量从0开始,每次递增1,直到等于10,把数组元素aai赋给bbi第8题【参考答案】int i, j, m;for(i = 0; i 199; i+)for(j = i + 1; j 200; j+) if(aai % 1000) aaj) /如果aai大于aaj,则进行互换 m = aai; aai = aaj; aaj = m; for(i = 0; i 10; i+)bbi = aai;第9题【参考答案】int qw, bw, sw, gw, i, j, ab;for(i = 0; i MAX; i+) qw = ai / 1000; /ai除以1000得到ai的千位上的数值,并赋给变量qw gw = ai % 10; /ai对10求余得到ai的个位上的数值,并赋给变量gw bw = (ai - qw * 1000) / 100; /ai与其千位数的差除以100,得到其百位上的数值 sw = (ai - qw * 1000 - bw * 100) / 10; /ai减去其千位数再减去其百位数值再除以10,得到其十位上的数值if(qw = bw & bw = sw & sw = gw) & (ai % 2 = 0) /如果ai 千位数小于等于百位数,百位数小于等于十位数,十位数小于等于个位数,并且ai是偶数bcnt+ = ai; /把ai赋给bcnt,同时数组下标变量cnt加1for(i = 0; i cnt - 1; i+) /循环变量i从0开始,每次加1,直到其值大于等于cnt - 1 for(j = i + 1; j bj) /如果数组元素bi大于bj,则进行两者互换 ab = bj; /把bj的值赋给变量ab bj = bi; /把 bi的值赋给bj bi = ab; /把ab的值赋给bi 第10题【参考答案】int qw, bw, sw, gw, i, j, ab;for(i = 0; i = bw & bw = sw & sw = gw) & (ai % 2) /如果ai 千位数大于等于百位数,百位数大于等于十位数,十位数大于等于个位数,并且ai是奇数bcnt+ = ai;for(i = 0; i cnt - 1; i+) for(j = i + 1; j bj) ab = bj; bj = bi; bi = ab; 第11题【参考答案】int qw, bw, sw, gw, i, j, ab;for(i = 0; i = 0) & (ai % 2) /如果ai千位数减去个位数再减去百位数再减去十位数大于等于零且ai是奇数bcnt+ = ai;for(i = 0; i cnt - 1; i+) for(j = i + 1; j bj) /如果bi大于bj,则两者进行互换,对数组b进行升序排序 ab = bj; bj = bi; bi = ab; 第12题【参考答案】int qw, bw, sw, gw, i, j, ab;for(i = 0; i = 0) & (ai % 2=0) /如果ai个位数减去千位上的数减百位上的数减去十位上的数大于等于零并且ai是偶数bcnt+ = ai;for(i = 0; i cnt - 1; i+) for(j = i + 1; j bj) /如果数组元素bi大于bj,则两者进行互换 ab = bj; bj = bi; bi = ab; 第13题【参考答案】int qw, bw, sw, gw, i, j, ab;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10;if(qw + gw - bw - sw = 0) & (ai % 2) /如果ai千位上的数字加上其个位上的数字减去其百位上的数字减去其十位上的数字等于零并且ai是奇数bcnt+ = ai;for(i = 0; i cnt - 1; i+)for(j = i + 1; j bj) ab = bj; bj = bi; bi = ab; 第14题【参考答案】int qw, bw, sw, gw, i, j, ab;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10;if(qw + sw - bw - gw = 0) & (ai % 2)=0) /如果ai千位上的数字加上十位上的数字减去百位上的数字减去个位上的数字等于零并且ai是偶数bcnt+ = ai; for(i = 0; i cnt - 1; i+) for(j = i + 1; j bj) ab = bj; bj = bi; bi = ab; 第15题【参考答案】int i, j, qw, bw, sw, gw, tmp;for(i = 0; i 0) /如果ai 千位上的数减百位上的数减十位上的数减个位数大于零bcnt+ = ai;for(i = 0; i cnt-1; i+) for(j = i + 1; j bj) tmp = bj;bj = bi;bi = tmp; 第16题【参考答案】int i, j, qw, bw, sw, gw, tmp;for(i = 0; i 0) /如果ai 个位数减千位数减百位数减十位数大于零bcnt+ = ai;for(i = 0; i cnt-1; i+) for(j = i + 1; j cnt; j+) if(bi bj) /如果bi小于bj,则两者进行互换,对数组b中的元素按从大到小的顺序排序 tmp = bj; bj = bi; bi = tmp; 第17题【参考答案】int i, j, qw, bw, sw, gw, tmp;for(i = 0; i 300; i+) qw = ai / 1000; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; gw = ai % 10;if(qw + bw - sw - gw = 0) /如果ai千位上的数字加上其百位上的数字减去其十位上的数字减去个位上的数字等于零bcnt+ = ai; for(i = 0; i cnt; i+) for(j = i + 1; j cnt; j+) if(bi bj) /如果bi的值小于bj的值,则两者进行互换,对数组b进行降序排列 tmp = bj; bj = bi; bi = tmp; 第18题【参考答案】int i, j, qw, bw, sw, gw, tmp;for(i = 0; i 300; i+) qw = ai / 1000; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; gw = ai % 10;if(qw + gw - bw - sw = 0) /如果ai千位上数加上其个位上的数减去其百位上的数减去其十位上的数等于0bcnt+ = ai;for(i = 0; i cnt-1; i+) for(j = i + 1; j bj) tmp = bj; bj = bi; bi = tmp; 第19题【参考答案】int i, qw, bw, sw, gw;for(i = 1000; i = 5000; i+) /循环变量i从1000开始,每次递增1,直到其值大于5000 qw = i / 1000; bw = (i - qw * 1000) / 100; sw = (i - qw * 1000 - bw * 100) / 10; gw = i % 10;if(qw + bw) = (sw + gw) & (qw + bw) = (gw - qw) * 10 ) /如果i的千位上的数字与其百位上的数字的和等于其十位上的数字与个位上的数字的和并且千位上的数字与百位上的数字的和等于个位上的数字与千位上的数字的差的10倍 cnt+; /变量cnt加1sum += i; /把i累加到变量sum上第20题【参考答案】int i, qw, bw, sw, gw;for(i = 0; i 0) /如果ai的个位数减去千位数减去百位数减去十位的数大于零 pjz1 += ai; /把ai的值累加到变量pjz1 cnt+; /变量cnt加1 else pjz2 += ai; /如果ai的个位数减去千位数减去百位数减去十位的数小于等于零,把ai的值累加到变量pjz2pjz1 /= cnt; /变量pjz1的值除以变量cnt的值,得到所有满足条件的四位数的平均值并赋给变量pjz1pjz2 /= (300 - cnt); /变量pjz2的值除以300减去变量cnt的差,得到所有不满足条件的四位数的平均值并赋给变量pjz2第21题【参考答案】int i, qw, bw, sw, gw;for(i = 0; i 0) /如果ai千位上的数减去百位上数减去十位上的数减去个位上的数大于零 pjz1 += ai; cnt+; else pjz2 += ai; pjz1 /= cnt;pjz2 /= (300 - cnt);第22题【参考答案】int i, qw, bw, sw, gw;for(i = 0; i 300; i+) qw = ai / 1000; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; gw = ai % 10;if(qw + gw - bw - sw = 0) /如果ai的千位上的数字加上其个位上的数字减去其百位上的数字减去其十位上的数字等于零 pjz1 += ai; cnt+; else pjz2 += ai;pjz1 /= cnt;pjz2 /= (300 - cnt);第23题【参考答案】int i, qw, bw, sw, gw;for(i = 0; i 300; i+) qw = ai / 1000; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; gw = ai % 10;if(qw + bw - sw - gw = 0) /如果ai千位上的数字加上其百位上的数字减去其十位上的数字减去其个位上的数字等于零 pjz1 += ai; cnt+; else pjz2 += ai; pjz1 /= cnt; pjz2 /= (300 - cnt); 第3类 数位分解并重组后再筛选统计并排序第24题【参考答案】int qw, bw, sw, gw, i, j, newV1, newV2;for(i = 0; i 0 & newV1-newV2=10) & (newV1 % 2) & (newV2 % 2) /如果ai的千位上的数字,个位上的数字均不等于零并且新组成的第一个数大于第二个数且第一个数与第二个数的差小于等于10且第一个数字,第二个数字均为奇数bcnt+ = ai; /把ai赋给bcnt,同时下标变量cnt加1/*对数组bcnt中的数字进行排序*/for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) /如果数组元素bi小于bj,则两者交互换,对数组b进行降序排列 newV1 = bj; bj = bi; bi = newV1; 第25题【参考答案】int qw, bw, sw, gw, i, newV1, newV2, j;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; newV1 = qw * 10 + sw; newV2 = gw * 10 + bw; if(qw & gw & isprime(newV1) & isprime(newV2) /如果ai千位上的数字和个位上的数字都不等于零且新组成的第一个数和第二个数都为素数bcnt+ = ai; for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) newV1 = bj; bj = bi; bi = newV1;第26题【参考答案】int qw, bw, sw, gw, i, newV1, newV2, j;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; newV1 = qw * 10 + sw; newV2 = gw * 10 + bw; if(qw & gw & (newV1newV2) & (newV1 % 2) & (newV1 % 5) & (newV2 % 2=0) /如果ai千位上的数字与个位上的数字不等于且第一个新数小于第二个新数且第一个新数是奇数且不能被5整除且第二个新数是偶数bcnt+ = ai; for(i = 0; i cnt - 1; i+)for(j = i + 1; j cnt; j+) if(bi bj) newV1 = bj; bj = bi; bi = newV1;第27题【参考答案】int qw, bw, sw, gw, i, newV1, newV2, j;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; newV1 = gw * 10 + qw; /ai个位上的数字与千位上的数字组成第一个新数newV1 newV2 = bw * 10 + sw; /ai百位上的数字与十位上的数字组成第二个新数newV2if(gw & bw & (newV1 % 2 = 0) & (newV2 % 2 = 0) & (newV1 % 9 = 0 | newV2 % 9 = 0) /如果 ai个位上的数字与百位上的数字都不为零且新组成的两个数都为偶数且至少有一个数能被9整除 bcnt+ = ai; for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) newV1 = bj; bj = bi; bi = newV1;第28题【参考答案】 int qw, bw, sw, gw, i, newV1, newV2, j;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; newV1 = gw * 10 + qw; /ai个位上的数字与千位上的数字组成第一个新数newV1 newV2 = bw * 10 + sw; /ai百位上的数字与十位上的数字组成第二个新数newV2if(gw & bw & (newV1 % 2=0) & (newV2 % 2) & (newV1 % 17=0 | newV2 % 17=0) | (newV1 % 2) & (newV2 % 2=0) & (newV1 % 17=0 | newV2 % 17=0) /如果ai个位上的数字与百位上的数字都不为零且第一个新数为偶数,第二个新数为奇数且两者至少有一个能被17整除或者第一个新数为奇数,第二个新数为偶数且两者至少有一个能被17整除bcnt+ = ai; /把满足上述条件的ai赋给bcnt,同时数组的下标变量cnt加1for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) /如果数组b中元素bi小于bj,则两者互换,实现对数组b的降序排列 newV1 = bj; bj = bi; bi = newV1; 第29题【参考答案】int qw, bw, sw, gw, i, newV1, newV2, j;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10; newV1 = qw * 10 + gw; /ai千位上的数字与个位上的数字组成第一个新数newV1 newV2 = bw * 10 + sw; /ai百位上的数字与十位上的数字组成第二个新数newV2if(qw & bw & (newV1 % 2) & (newV2 % 2) & (newV1 % 5) = 0 | (newV2 % 5)=0) /如果ai千位上的数字与百位上的数字都不零且两个新组成的数均是奇数并且至少有一个数能被5整除bcnt+ = ai; /把满足上述条件的四位数ai赋给bcnt,同时数组的下标变量cnt加1for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) /如果数组b中的元素bi小于bj,则两者互换,实现数组b的降序排列 newV1 = bj; bj = bi; bi = newV1; 第30题【参考答案】int qw, bw, sw, gw, i, newV1, newV2, j;for(i = 0; i =10 & newV1-newV2=20) & (newV1 % 2 = 0) & (newV2 % 2 = 0) /如果ai千位上的数字与个位上的数字都不为零且第一个新数与第二个新数的差大于等于10而小于等于20并且新组成的两个新数都为偶数bcnt+ = ai; for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) newV1 = bj; bj = bi; bi = newV1; 第31题【参考答案】int qw, bw, sw, gw, i, newV1, newV2, j;for(i = 0; i newV2) & (newV1 % 2 = 0 & newV1 % 5 = 0) & (newV2 % 2) /如果ai千位上的数字与个位上的数字都不为零且第一个新数大于第二个新数且第一个新数必须是偶数且能被5整除,第二个新数必须是奇数bcnt+ = ai; for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) 第32题【参考答案】int qw, bw, sw, gw, i, j, ab;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10;if(qw % 2=0) & (bw % 2=0) & (sw % 2=0) & (gw % 2=0) /如果ai 各位上的数字均为偶数bcnt+ = ai; /把满足上述条件的四位数ai赋给bcnt,同时数组下标变量cnt加1for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) /如果数组b中的元素bi小于bj,则两者互换,对数组b进行降序排列 ab = bj; bj = bi; bi = ab; 第33题【参考答案】int qw, bw, sw, gw, i, j, ab;for(i = 0; i MAX; i+) qw = ai / 1000; gw = ai % 10; bw = (ai - qw * 1000) / 100; sw = (ai - qw * 1000 - bw * 100) / 10;if(qw % 2) & (bw % 2) & (sw % 2) & (gw % 2) /如果ai 各位上的数字均为奇数bcnt+ = ai; for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) ab = bj; bj = bi; bi = ab;第34题【参考答案】int n, k, a, b, c, cnt = 0; /定义整型变量n, k, a, b, c, cnt,同时变量cnt的初值为0for(k = 10; k+) /循环变量k从10开始,每次递增1 n = k * k; /把k的平方数赋给n if(n 999) break; /如果n的值大于999,则退出for循环语句 a = n / 100; /n除以100得到n的百位上的数字 b = n % 100 / 10; /n对100求余再除以10,得到n的十位上的数字 c = n % 10; /n对10求余得到n个位上的数字if(a-b)*(a-c)*(b-c) = 0) /如果n三个数位上的数字有两个相同 printf(N=%d=%d*%dn, n, k, k); bbcnt+ = n; /把满足条件的三位数n赋给数组元素bbcnt,同时数组下标变量cnt加1 return cnt; /返回满足条件的三位数的个数cnt第4类 根据相邻数大小进行筛选统计并排序第35题【参考答案】int i, j, ab;for(i = 0; i MAX - 5; i+) if(ai % 2=0) & ai ai+1 & ai ai+2 & ai ai+3 & ai ai+4 & ai ai+5) /判断ai 连续小于该四位数以后的五个数且该数是偶数 bcnt+ = ai; /把满足此条件的四位数ai存入数组元素bcnt,同时数组下标变量cnt加1/*对数组b进行升序排序*/for(i = 0; i cnt - 1; i+) for(j = i + 1; j bj) /如果数组元素bi大于bj,则两者互换 ab = bj; bj = bi; bi = ab; 第36题【参考答案】int i, j, ab;for(i = 5; i ai-1 & ai ai-2 & ai ai-3 & ai ai-4 & ai ai-5) /判断ai连续大于该四位数以前的五个数且该数是偶数 bcnt+ = ai; /把满足此条件的四位数ai存入数组元素bcnt,同时数组下标变量cnt加1/*对数组b进行降序排序*/for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) /如果数组元素bi小于bj,则两者进行互换 ab = bj; bj = bi; bi = ab; 第37题【参考答案】int i, j, ab;for(i = 0; i ai+1 & ai ai+2 & ai ai+3 & ai ai+4 & ai ai+5) /判断ai连续大于该四位数以后的连续五个数且该数是奇数 bcnt+ = ai; /把满足此条件的四位数ai存入数组元素bcnt,同时数组下标变量cnt加1/*对数组b进行升序排序*/for(i = 0; i cnt - 1; i+) for(j = i + 1; j bj) /如果数组元素bi大于bj,则两者进行互换 ab = bj; bj = bi; bi = ab; 第38题【参考答案】int i, j, ab;for(i = 5; i ai-1 & ai ai-2 & ai ai-3 & ai ai-4 & ai ai-5) bcnt+ = ai; /把满足此条件的四位数ai存入数组元素bcnt,同时数组下标变量cnt加1/*对数组b进行降序排序*/for(i = 0; i cnt - 1; i+) for(j = i + 1; j cnt; j+) if(bi bj) /如果数组元

温馨提示

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

评论

0/150

提交评论