字符串按单词逆转

来源:互联网 发布:caxa数控编程教程 编辑:程序博客网 时间:2024/04/27 17:43

写一个函数,参数为一个字符串,按单词逆序存储。如:“I am a Student”,结果为“Student a am I”

 

一个巧妙的算法:

 

 


  #include   <stdio.h>  
  #include   <string.h>  
   
   
  #define   MAX_STRING_LEN     50  
  int   main(){  
          int   j=0;  
          int   i=0;  
          int   nLen;  
          char   src[]="you   are   a   student   from   fuzhou   university.";  
          char   dest[1024];  
          sTemp   =   src;  
          nLen=strlen(src);  
       
          for(i=0,j=0;i<=nLen;i++){    
                  if(src[nLen-i]=='   '){  
                          strncpy(&dest[j],&src[nLen-i+1],i-j+1);  
                          j=i;  
                          dest[j-1]='   ';  
                          dest[j]='/0';  
                  }  
          }  
          i=i-1;  
          printf("i   =%d,j   =%d/n",i,j);  
          strncpy(&dest[j],src,i-j);  
          printf("/n<src>   =%s/n",src);  
          printf("<dest>   =%s/n",dest);  
          return   1;  
  }