当前位置:文书君>学习经验>考研>

2014华为机试笔试题目

文书君 人气:2.93W

1.输入摸一个数,然后将其倒过来相加,如果和不是回文串,那么将和再采取同样的操作,在判断得到的是否为回文串,这样往返7次,如果其中有一次是回文就直接打出来,若都没有,那么输出0;

2014华为机试笔试题目

也很简单!用库函数更简单,itoa这个!整数转成字符,然后判断回文!

2.关于匹配的字符串的个数的最大值,即目标字符串与多个字符串比配,找出匹配最多的那个字符串。

其实代码很简单,我当时用2个数组,下标即为字符,值为出现次数,这样比较即可;

可是我输入字符的代码写错了比如要输入Li si;到一个字符数组里面,我写成了

char a[200];

cin>>a;//这里错了,应该写为ine(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;

}

TAG标签:笔试 华为 机试 题目