华为机试网上练习二_第1页
华为机试网上练习二_第2页
华为机试网上练习二_第3页
华为机试网上练习二_第4页
华为机试网上练习二_第5页
免费预览已结束,剩余9页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一题(60分):按要求分解字符串,输入两个数M , N ; M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8,a I »abc“ 123456789 ” 则输出为 “ abc00000 ” , “ 12345678“ , ”90000000 ”cpp view plaincopy1.转载请标明出处,原文地址:htt P: /2.#include<iostream>3.#include<cstdio>4.using names pace std;5.6.void solve( char *str,int n , int7.8.i

2、nt 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.p rintf("%c" , strj)19.for (j =0 ; j < k ; +j)20.pu tchar('0');21.22

3、.else23.24.for (j = i;j < i + n ; +j)25.p rintf("%c" , strj);26.27.pu tchar('');28.29.printf("n");30.31.32.int main( void )J33.len)/原字符串被分解的个数/剩余的字符串的个数34.int i,m , n , len;35.charstr1000;36.37.while(scanf( "%d %d" , &m38.39.for (i = 0 ; i < m ; +i)40.

4、41.scanf("%s" , str);42.len=strlen(str);43.solve(str , n , len);44.45.46.return 0;47.,&n) != EOF)第一题:拼音转数字输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:描述:拼音yi ersan si wu liu qi ba jiu阿拉伯数字456789cpp view plaincopy输入字符只包含小写字母,所有字符都可以正好匹配运行时间限制:无限制内存限制:无限制输入:一行字符串,长度小于1000输出:一行字符(数字)串样例输入:yiersa nsi

5、样例输出:12341.转载请标明出处,原文地址:htt P: /2.#include<iostream>3.#include<cstdio>4.using names pace std;5.6.voidsolve( char *str ,intlen)7.8.inti;9.10.for(i = 0 ; i < len ;)11.12.switch (stri)13.14.case 'y':15.p utchar('1');16.i += 2;17.break ;18.case 'e19.p utchar('2'

6、;);20.i += 2;21.break ;22.case 's'23.if (stri +1='a')24.25.pu tchar('3');26.i += 3;27.28.else29.30.pu tchar('4');31.i += 2;32.33.break ;34.case 'w'35.p utchar('5');36.i += 2;37.break ;38.case 'l'39.p utchar('6');40.i += 3;41.break ;42.c

7、ase 'q':43.p utchar('7');44.i += 2;45.break46.case 'b':47.p utchar(48.i += 2;49.break50.case j'51.p utchar(52.i += 3;53.break54.55.56.printf("n");57. 58.59. intmain( void )60. 61.int len;62.char str1OOO;63.64.while (scanf('65.66.len = strlen(str);67.solve(st

8、r , len);68. 69.return 0;70. "%s" , str) != EOF)8 );'9');第二题:去除重复字符并排序运行时间限制:无限制内容限制:无限制输入:字符串输出:去除重复字符并排序的字符串样例输入:aabcdefff样例输出:abcdef1.转载请标明出处,原文地址:htt P: /2.#includeviostream>3.#includevcstdio>4.#includevmemory>5.using names pace std;6.7.voidsolve( char *str ,intlen)8.9

9、.int i , hash256;10.memset(hash , 0 ,sizeof(hash);11.12.for (i = 0 ; i v len ; +i)13.14.if (0 = hashstri)15.hashstri = 1;16.17.for (i = 0 ; i v 256 ; +i)18.19.if (0 != hashi)20.p utchar(i);21.22.printf("n");23.24.25.intmain( void )26.27.int len;28.char str1000;29.30.while (scanf( "%s&

10、quot; , str) != EOF)31.32.len = strlen(str);33.solve(str , len);34.35.return 0;J36.第三题:等式变换输入一个正整数X,在下面的等式左边的数字之间添加 +号或者-号,使得等式成立。比如: 12-34+5-67+89 = 5 1+23+4-5+6-7-8-9 = 5 请编写程序,统计满足输入整数的所有整数个数。18.22.输入:正整数,等式右边的数字输出:使该等式成立的个数样例输入:样例输出:21cpp view plaincopy1.转载请标明出处,原文地址:htt P: /2.#include<iostre

11、am>3.#include<cstdio>4.using names pace std;5.6.7.int op s21;const char sym3 = '+'8.int result , num;9.10.void dfs( int layer, int currentResult,int last Op, int lastSum)12.11.13.lastSum *= (layer > 9) ? 100 : 10;lastSum += layer;14.if (layer = 9)15.16.17.currentResult += (last O

12、p) ? (-1 * lastSum) : lastSum;if (currentResult = result)19.+num;20.printf("1");21.for(int i = 2 ; i <= 9 ; +i)23.if (symopsi-1 !=24.p rintf("%c " , symopsi-1);25.p rintf("%d", i);26.27.printf("=%dn", result);28.29.return30.31.32.op slayer = 2;dfs(layer + 1 , currentResult , last Op , lastSum);/Continue33.currentResult += (lastO p)? (-1 * lastSum) : lastSum;34.op slayer = 0;35.dfs(layer + 1 , currentResult , 0,0);/P lus36.op slayer = 1;37.dfs(layer

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论