华为2013校园招聘上机笔试题--字串转换
来源:互联网 发布:有益网络怎么样 编辑:程序博客网 时间:2024/05/01 09:31
问题描述:
将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。
要求实现函数:
void convert(char *input,char* output)
【输入】 char *input , 输入的字符串
【输出】 char *output ,输出的字符串
【返回】 无
示例
输入:char*input="abcd"
输出:char*output="bcde"
输入:char*input="abbbcd"
将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。
要求实现函数:
void convert(char *input,char* output)
【输入】 char *input , 输入的字符串
【输出】 char *output ,输出的字符串
【返回】 无
示例
输入:char*input="abcd"
输出:char*output="bcde"
输入:char*input="abbbcd"
输出:char*output="bcdcde"
void convert(char *input, char *output){if (NULL == input || NULL == output){return;}char *temp = output;/* 首先转换过去 */while (*input){if (*input == 'z'){*temp = 'a';}else{*temp = *input + 1;}temp++;input++;}*temp = '\0';int length = strlen(output);/* 检查是否有字符连续出现3次,如果有,把中间那个修改过来 */if (length >= 3){for (int i = 1; i <= length - 2; i++){if (output[i] == output[i + 1] && output[i] == output[i - 1]){output[i] = output[i + 1] + 1;}}}}
0 0
- 华为2013校园招聘上机笔试题--字串转换
- 字符串处理转换(华为2013校园招聘上机笔试题 )
- 华为2013校园招聘上机笔试题
- 华为2013校园招聘上机笔试题
- 2012华为校园招聘上机笔试题
- 华为2016校园招聘上机笔试题
- 华为2016校园招聘上机笔试题
- 华为2016校园招聘上机笔试题
- 华为2016校园招聘上机笔试题
- 华为2016校园招聘上机笔试题
- 大正数减法(华为2013校园招聘上机笔试题 )
- 大正数减法(华为2013校园招聘上机笔试题 )
- 2013华为校园招聘上机题
- 2012华为校园招聘上机笔试题---版本1
- 华为2016校园招聘上机笔试题----最高分是多少
- 华为2016校园招聘上机笔试题----简单错误记录
- 华为2016校园招聘上机笔试题----扑克牌大小
- 华为2016校园招聘上机笔试题:扑克牌大小 [python]
- mysql 查询当天数据
- HDU 4135 Co-prime(容斥原理求互质数)
- VAX自动生成注释
- 一个小小的关灯游戏
- 建立Android SDK下的JNI、JAVA应用完整步骤
- 华为2013校园招聘上机笔试题--字串转换
- 福利:unity3d对接SDK神器50家渠道全覆盖,一站式接入渠道SDK插件 abctools
- 静态Hash解决数据颠簸问题
- ACM 116. [NOIP2006] 能量项链(dp矩阵连乘改版+数据2倍化+枚举)
- Android中跨进程通信之Activity
- BC注册吗
- 使用PHP依赖管理工具Composer安装Guzzle
- Win7下安装Ubuntu(双系统)
- 数据科学维恩图