zoukankan      html  css  js  c++  java
  • H面试程序(27):字串转换

    //1 字串转换
    //问题描述:
    //将输入的字符串(字符串仅包含小写字母‘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 ,输出的字符串
    //【返回】 无
    //40min
    //示例
    //输入:char*input="abcd" 
    //输出:char*output="bcde"
    //输入:char*input="abbbcd" 
    //输出:char*output="bcdcde"
    #include<stdio.h>
    #include<assert.h>
    void convert(char *input,char* output)
    {
    	assert(input);
    	assert(output);
    	while(*input != '')  //遍历整个字符数组
    	{    
             if(*input == *(input+1))  //当前字符和下一字符相同的情况
    		 {
    			 
                	if(*input =='z')  //因为字母‘z’的情况比较特殊,所以单独分开
    				{
    					*output = (*input-25);
                        *(output+1) =(*input - 24);
    					output = output + 2;
                        input = input + 2;
    				}
    				else     //
    				{
    					 *output = (*input + 1);
    					 *(output+1) = (*input + 2);
    					 output = output + 2;
                         input = input + 2;
    				}		 
                
    		 }
             else   //当前字符和下一字符不相同的情况
    		 {
    				if(*input =='z')//因为字母‘z’的情况比较特殊,所以单独分开
    				{
    					*output++ = (*input-25);
    					
                         input++;
    					
    				}
    				else
    				{
    					 *output++ = (*input + 1);
                         input++;
    				}
    		 }
    	
    	}
        *output = ''; //记得在output后加上结束符号
    }
    
    int main( )
    {
      char input[] = "abbbcd";
      printf("%s
    ",input);
      char output[100];
      convert(input, output);
      printf("%s
    ",output);
      return 0;
    }


  • 相关阅读:
    【DIOCP知识库】连接上下文TIocpClientContext
    【杂谈接口】接口对象的生命周期-对象所占用的内存块清理
    【杂谈指针】- 指针的移动
    开源中国(oschina.net)能给我一个交代吗?
    设计数据结构O1 insert delete和getRandom
    Find K most Frequent items in array
    三月啦
    数组随机排序
    Two Sigma OA
    Linear Regression
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3317882.html
Copyright © 2011-2022 走看看