将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love
发布时间:2020-12-13 22:29:52 所属栏目:百科 来源:网络整理
导读:#include string.h#include stdio.h#include stdlib.h//将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为"you. love i"void reverse(char *str){int i=0,j=strlen(str)-1;int begin,end;char temp;//第一步进行全部翻转while
#include <string.h> #include <stdio.h> #include <stdlib.h> //将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为"you. love i" void reverse(char *str) { int i=0,j=strlen(str)-1; int begin,end; char temp; //第一步进行全部翻转 while (i<j) { temp=str[i]; str[i]=str[j]; str[j]=temp; i++; j--; } i=0; //进行部分翻转,如果不是空格,则开始翻转 while(str[i]!=' ') { if (str[i]!=' ') { begin=i; while (str[i]&&str[i]!=' ') { i++; } i=i-1; end=i; } while(begin<end) { temp=str[begin]; str[begin]=str[end]; str[end]=temp; begin++; end--; } i++; } } void main() { char a[]="i love you."; reverse(a);//注意这里只能使用char a[]="i love you.";不能使用char *a="i love you.";因为在reverse中要修改a的值,而字符串常量不能修改 printf("%s",a); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |