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++;
    		}
    	}
    }


     

  • 相关阅读:
    鲁迅散文——随感录三十五
    跳一跳201803-1
    鲁迅散文——狗的驳诘
    鲁迅散文——立论
    小中大201903-1
    鲁迅散文——题辞
    小明上学201812-1
    买菜201809-2
    Linux常用命令-2
    LaTeX——基本介绍及字体设置
  • 原文地址:https://www.cnblogs.com/byfei/p/3112193.html
Copyright © 2011-2022 走看看