三级网络机试超级讲义(完美打印版) 下载本文

★ 68:

解法1:

int i,cnt=0;

for(i=0;i

if(str[i]==*substr&&str[i+1]==*(substr+1)) cnt++; return cnt;

解法2:

int cnt=0; while(*str)

if(*str==*substr&&*(str+1)==*(substr+1)) { cnt++; str++;} else str++; return cnt;

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

第四部分 选票问题(掌握方法不难)

抽中率在3%左右 选票问题在整个题库中占比列比不大,题目考察形式不多,下面按照考试题型分别加以介绍。大家在各个类型中需要掌握答题规律和技巧。

8、 选票问题 int i,j,count;

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

count=0; /*注意此处count必须在第一层循环后 考虑为什么?*/ for(j=0;j<10;j++) /*注意此处不能加大括号 考虑为什么?*/ if(xx[i][j]=='1') count++;

if(count<=5) continue; else

for(j=0;j<10;j++) if(xx[i][j]=='1') yy[j]++; }

78-79:选票问题

int i,j; }

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

int count;

for(i=0;i<10;i++) yy[i]=0;

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

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

if(xx[i][j]=='1') count++; for(j=0;j<10;j++)

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

{

if(count!=0&&count!=10)

第五部分 其它特殊问题(相对难度加大)

抽中率在10%左右

题目形式没有具体规律,下面按照考试题型分别加以介绍。建议大家给这部分内容更多的复习时间。

9、 ★ 特殊题目,编程求特殊函数值(需要特殊对待,建议考试前必须看几遍)

float x0,x1=0.0;,/*注意此处x1初值0.0*/ while(1) {

x0=x1;

x1=cos(x0);

if(fabs(x0-x1)<1e-6) break; /*注意此处书写形式和绝对值函数*/ }

return x1; /*注意此处不能丢掉*/ 10、

★特殊题目,编程求特殊函数值(需要特殊对待,建议考试前必须看几遍)

int i;

*n=0;/*此处不能丢掉*/ for(i=1;i<=1000;i++)

if((i%7==0 && i!=0)||(i%7!=0 && i==0)) {

*a=i; /*保存符合条件的数*/ *n=*n+1; /*不能写成*n++*/ a++; }

★ 72:

void jsValue(int a[10][9]) /*此处原题函数中需要定义变量*/ {

int i,j,k,tmp,val; for(i=0;i<10;i++) {

val=a[i][0];

for(j=0;j<9;j++) if(a[i][j]

tmp=a[i][j]; for(k=j;k>0;k--) a[i][k]=a[i][k-1]; a[i][0]=tmp; } } }

★ 80:

1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765??

fibonacci数列即斐波那契数列,它的特点是前面两个数的和等于后面的一个数。

int a1=0,a2=1,an;

while(an<=t)

{

an=a1+a2; /*求下一个级数*/ a1=a2; /*将a2赋给a1*/ a2=an; /*将an赋给a2*/ } return an;

另一解法:建议大家使用

int i=0; int f[1000]; f[0]=0; f[1]=1; for(i=2; ;i++) {

f[i]=f[i-2]+f[i-1]; if(f[i]>=t) break; } return f[i];

★ 81:类斐波那契数列

int n=1; /*定义计数器变量*/

int a1=1,a2=1,an;

int sum0,sum; /*用来存储级数的和的变量*/ sum0=a1+a2; /*计算前两项的级数和*/ while(1) /*无条件循环*/ {

an=a1+a2*2; sum=sum0+an; a1=a2; a2=an;

n++;

if(sum0<100 && sum>=100) b[0]=n;

if(sum0<1000 && sum>=1000)

b[1]=n; /*则将n存入数组单元b[1]中*/ if(sum0<10000 && sum>=10000) { b[2]=n; break; }