zoukankan      html  css  js  c++  java
  • 中兴移动的笔试题,字符串的移动

    一道填空题:移动字符串内容,传入参数char *a和m,规则如下:将a中字符串的倒数m个字符移到字符串前面,其余依次像右移。例如:ABCDEFGHI,M=3,那么移到之后就是GHIABCDEF。
    注意不得修改原代码

    void fun(char *w, int m)
    {
      int i=0; len=strlen(w);
    
      if(m>len)  
    m = len;
    
      while(__________){
      _________________;
      }
    
      w[len-m] = '\0';
    
    }
    


     

     
    
    void convert(char *w, int m)
    {
      int i=0;  
      int len=strlen(w);
        
      if(m>len)  
      m = len;
        
      while(len-m > 0 || (m=0) != 0){
      for(i=0,w[len]=w[0],++m;i<len;i++) w[i]=w[i+1];
      }
      w[len-m] = '\0';
    }
    
    int main()
    {
      char w[300] = {0};
      strcpy(w,"ABCDEFGHI");
      convert(w,3);
      printf("######## w = %s\n",w);
      return 0;
    }
    
    


     

    下面我自己写的一个当然感觉不满足题意了,也可以参开一下

    void convert(char *w, int m)
    {
    	char data[300];
    	strcpy(data,w);
    	int len = strlen(w);
    	int n = len-m;
    	int j = 0;
    
    	for(int i=0;i<len;i++)
    	{
    		if(i<m)
    		{
    			w[i] = data[n];
    			n++;
    		}
    		else
    		{
    			w[i] = data[j];
    			j++;
    		}
    	}
    }


     

  • 相关阅读:
    ElasticSearch-生命周期管理
    Alpha 冲刺五
    Alpha 冲刺四
    Alpha 冲刺三
    Alpha 冲刺二
    Alpha 冲刺一
    测试随笔
    校友录
    项目需求分析(淘校)
    团队选题报告(淘校)
  • 原文地址:https://www.cnblogs.com/byfei/p/3112193.html
Copyright © 2011-2022 走看看