华为2015校园招聘上机考试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华为2015校园招聘上机考试题
第一题(60分):
按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8,“abc”,“123456789”,则输出为“abc00000”,“12345678“,”90000000”
1.转载请标明出处,原文地址:
/hackbuteer1/article/details/39253767
2.#include
3.#include
ing namespace std;
5.
6.void solve(char *str , int n , int len)
7.{
8.int i , j , k , quotient , remainder;
9.quotient = len / n;
//原字符串被分解的个数
10. remainder = len - n * quotient; //剩余的字
符串的个数
11.
12. for(i = 0 ; i < len ; i += n)
13. {
14. if(len - i < n)
15. {
16. k = n - len + i;
17. for(j = i ; j < len ; ++j)
18. printf("%c" , str[j]);
19. for(j = 0 ; j < k ; ++j)
20. putchar('0');
21. }
22. else
23. {
24. for(j = i ; j < i + n ; ++j)
25. printf("%c" , str[j]);
26. }
27. putchar(' ');
28. }
29. printf("\n");
30.}
31.
32.int main(void)
33.{
34. int i , m , n , len;
35. char str[1000];
36.
37. while(scanf("%d %d", &m , &n) != EOF)
38. {
39. for(i = 0 ; i < m ; ++i)
40. {
41. scanf("%s" , str);
42. len = strlen(str);
43. solve(str , n , len);
44. }
45. }
46. return 0;
47.}
第一题:拼音转数字
输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:
描述:拼音yier san siwuliu qi bajiu
阿拉伯数字 1 2 3 4 5 6 7 8 9
输入字符只包含小写字母,所有字符都可以正好匹配
运行时间限制:无限制
内存限制:无限制
输入:一行字符串,长度小于1000
输出:一行字符(数字)串
样例输入:yiersansi
样例输出:1234
1.转载请标明出处,原文地址:
/hackbuteer1/article/details/39253767
2.#include
3.#include
ing namespace std;
5.
6.void solve(char *str , int len)
7.{
8.int i;
9.
10. for(i = 0 ; i < len ; )
11. {
12. switch(str[i])
13. {
14. case 'y':
15. putchar('1');
16. i += 2;
17. break;
18. case 'e':
19. putchar('2');
20. i += 2;
21. break;
22. case 's':
23. if(str[i + 1] == 'a')
24. {
25. putchar('3');
26. i += 3;
27. }
28. else
29. {
30. putchar('4');
31. i += 2;
32. }
33. break;
34. case 'w':
35. putchar('5');
36. i += 2;
37. break;
38. case 'l':
39. putchar('6');
40. i += 3;
41. break;
42. case 'q':
43. putchar('7');
44. i += 2;
45. break;
46. case 'b':
47. putchar('8');
48. i += 2;
49. break;
50. case 'j':
51. putchar('9');
52. i += 3;
53. break;
54. }
55. }
56. printf("\n");