考研

当前位置 /首页/学习经验/考研/列表

华为笔试经验分享(2)

篇中提及的问题的解答:

华为笔试经验分享(2)

1、1到100之间的所有素数之和;

int i = 1;

int j = 0;

bool change= 1;

int sum = 0;

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

{

for (j=2; j

{

if(i%j==0)

{

change = 0;

break;

}

}

if(change==1)

sum +=i;

change = 1;

}

printf("%dn",sum);

2、队列的实现;(用数组或者链表,定义好输入和输出即可)

3、选首领(有一群人围在一圈,从第一个人开始数1、2、3,数到3者退出,用循环链表实现)

n个人围成一圈,从第一个人开始依次从1到m循环报数,当报到m的时候此人出圈,直到圈 中只剩一人为止.求最后一个人的原始编号

int yuesefu(int n,int m)

{

int i,r=0;

for (i=2;i<=n;i++) r=(r+m)%i;

return r+1;

}

4、字符串匹配问题(int countABC(* s) 输入任何一串字符串,计算机其中有连续ABC子字符 串的`个数)

int countABC(* s)

{

int i = 0;

int j = 0;

int num = 0;

scanf("%s",s);

int len = strlen(s);

for (i=0; i

TAG标签:经验 华为 笔试 #