hello world

This is a new start.



many code from the blogs can't work actually. So I post some really working code.



1. code to reverse the words in a sentence. ----- 倒序句子里的单词。

The idea is:

"ab cd" ---> "dc ba" ----> "dc"+"ba" ----> "cd"+"ab"

The first time is reversing the all items(letters+space) in whole sentence, the second time is reverse the letters of each word.


#include <stdio.h>
#include <string.h>
char * invert(char *start, char *end) 
{ 
char tmp, *ptmp = start; 
while (start != NULL && end != NULL && start < end) 
{ 
tmp = *start; 
*start = *end; 
*end = tmp; 
start ++; 
end --; 
} 
return ptmp; 
} 

void reverse_word(char* string)
{
int len=strlen(string);
char* input_string=NULL;
char* start_pos=NULL;
invert(string,string+len-1);
input_string = string;
while(*input_string != '\0'){
if(start_pos ==NULL){
start_pos=input_string;
}
if(*input_string==' '){
invert(start_pos,input_string-1);
start_pos=NULL;
}
input_string++;
}
invert(start_pos,input_string-1);
}
int main(int argc,char** argv)
{
char mytest_string[]="abcdefghijk is my word";

reverse_word(mytest_string);
printf("%s\n",mytest_string);
return 0;

}





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值