将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为you. love i
生活随笔
收集整理的這篇文章主要介紹了
将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为you. love i
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#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]!='\0'){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);}
總結
以上是生活随笔為你收集整理的将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为you. love i的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLyog入门教程:安装与使用
- 下一篇: 【剑指offer - C++/Java】