模板,内容仅供参考
华为的笔试经验范文
篇中提及的问题的解答:
1、1到100之间的所有素数之和;
int i = 1; int j = 0; bool change= 1; int sum = 0; for (i=1; i
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(\int len = strlen(s); for (i=0; i
} 5、用数组存储超大数的问题。 这是数组得一个应用,思想是我们定义一个数组,让每一个元素得值都是从后到前以十 进制得方式存
模板,内容仅供参考
贮得,如过到了9下一位就要让前一个元素进位为1,9变为0同时。 下面这个例子是要求一个40位的 n!的值 int data[40];//存储40位书的整数数组 int digit;//数据位数变量 int i,j,r,k; int n;//用户输入值 for(i=1; i
data[0]=data[1]=1; digit=1;
printf(\
for(i=1; i10) { for(r=1; r10)//大于10时候位数加1 digit++; data[r+1]+=data[r]/10;//进位增加 data[r]=data[r];//去掉进位后得值 } } } printf(\printf(\
} 6、询问 作系统的进程和线程的区别 进程和线程都是由操作系统所体会的程序运行的根本单元,系统利用该根本单元 实现系统对应用的并发性。进程和线程的区别,简而言之: 一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有 的内存单元,而多个线程共享内存,从而极大 地提高了程序的运行效率。
模板,内容仅供参考
========================================= 1、ping命令使用的是哪种报文? ping命令使用icmp的哪种code类型:echo reply(回显请求报文)
2、osi分哪几个层,ip是在哪个层? osi:物理层、链路层、网络层、传输层、会话层、管理层、应用层。 tcp/ip:主机网络层、互联层、传输层、应用层。ip是在互联层 3、哈希表的问题 主要用于快速查找检索方面 4、 要采取二叉树这种数据结构? 他折半查找,可以减少查找比拟次数 5、五元组 二元组的定义: 三元组的定义: 五元组的定义: v是值的 ,o是操作的 ,g是构成名字的文法,m是存储的 ,s是从g能构成的名字 几个到m的映射. ip报文中的五元组(即源ip地址,源端,目的ip地址,目的端口,协议)。 半相关 综上所述,网络中用一个三元组可以在全局唯一标志一个进程: (协议,本地地址,本地端口号) 这样一个三元组,叫做一个半相关(half-association),它指定连接的每半局部。
模板,内容仅供参考