华为2015校园招聘上机考试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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");

相关文档
最新文档