发布于 2015-02-21 07:55:19 | 163 次阅读 | 评论: 0 | 来源: 网友投递
华为
华为技术有限公司是一家生产销售通信设备的民营通信科技公司,总部位于中国广东省深圳市龙岗区坂田华为基地。华为的产品主要涉及通信网络中的交换网络、传输网络、无线及有线固定接入网络和数据通信网络及无线终端产品,为世界各地通信运营商及专业网络拥有者提供硬件设备、软件、服务和解决方案。华为于1987年在中国深圳正式注册成立。
本文为大家整理分享的是一份2014华为招聘机试题-开发类岗位,感兴趣的同学参考下。
以下为试题:
1.输入摸一个数,然后将其倒过来相加,如果和不是回文串,那么将和再采取同样的操作,在判断得到的是否为回文串,这样往返7次,如果其中有一次是回文就直接打出来,若都没有,那么输出0;
也很简单!用库函数更简单,itoa这个!整数转成字符,然后判断回文!
2.关于匹配的字符串的个数的最大值,即目标字符串与多个字符串比配,找出匹配最多的那个字符串。
其实代码很简单,我当时用2个数组,下标即为字符,值为出现次数,这样比较即可;
可是我输入字符的代码写错了比如要输入Li si;到一个字符数组里面,我写成了
char a[200];
cin>>a;//这里错了,应该写为cin.getline(a,200);因为cin输入遇到空格就认为输入结束,所以只有li,没有si
3.输入一个十进制的数,与一个n整数,求输出这个十进制数的n进制的数!
分析:哎,真倒霉,可以用atoi函数啊
itoa函数
#include<cstdlib>
#include<cstdio>
int main()
{
int num = 10;
char str[100];
itoa(num, str, 2);
printf("%sn", str);
return 0;
}
itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是目标字符串,第三个参数是转移数字时所用 的基数。在上例中,转换基数为10。10:十进制;2:二进制……
于是想到了一个十进制转二进制的方法:
#include<cstdlib>
#include<cstdio>
int main()
{
int num = 10;
char str[100];
int n = atoi(itoa(num, str, 2));
printf("%dn",n);
return 0;
}