1. 程式人生 > >將字串中的每個單詞順序進行顛倒,單詞還是原來的單詞,字母順序不發生變化

將字串中的每個單詞順序進行顛倒,單詞還是原來的單詞,字母順序不發生變化

/*測試資料:Shen zhen is a beautiful city!*/
/*執行結果:city! beautiful a is zhen Shen*/
#include<stdio.h>
#define SIZE 1000

void reverse(char *low,char *high)/*接受兩個指標,將指標中間的內容倒置*/
{
	while (low < high){
		*low = *low^*high;
		*high = *low^*high;
		*low = *low^*high;
		++low;
		--high;
	}
}

void reverseWord(char *str)
{
	char *c = str, *e = str, *low, *high;
	while (*e != 0){
		++e;
	}
	reverse(c,--e);/*將整個字串倒置*/
	while (*c!=0){
		while (*c != 0 && *c == 32){
			++c;
		}
		low = c;/*指向單詞首部的指標*/
		while (*c != 0 && *c != 32){
			++c;
		}
		high = c - 1;/*指向單詞尾部的指標*/
		if (low < high){
			reverse(low,high);/*將單詞倒置*/
		}
	}
	puts(str);
}

int main()
{
	char str[SIZE];
	printf("Please enter a string :\n");
	gets(str);
	reverseWord(str);
	return 0;
}

相關推薦

字串每個單詞順序進行顛倒單詞還是原來單詞字母順序發生變化

/*測試資料:Shen zhen is a beautiful city!*/ /*執行結果:city! beautiful a is zhen Shen*/ #include<stdio.h> #define SIZE 1000 void reverse(c

自定義一個數組陣列陣列內每個元素進行隨機賦值並把這個陣列所有元素順序進行顛倒

package com.tedu; import java.util.Arrays; import java.util.Random; import java.util.Scanner; /** * 需求: 自定義一個數組陣列 陣列內每個元素進行隨機賦值 並把這個陣列中

JavaScript如何把字串每個單詞字母轉化為大寫

  先上程式碼,再做解釋。   思路分析:    1. 首先先把字串中的單詞轉化為小寫(toLowerCase),再對其進行擷取(split),擷取依據為按照空格擷取;   2. 此時經過步驟一之後得到的東西是一個數組,數組裡邊存放的是剛剛按照空格一一分割的那幾個字元,要想運算

統計字串每個單詞出現的次數 for C++

void CountWords(char str[])//實現字串中每個單詞出現的次數統計 {     char S[20][10];//用於儲存每個單詞     int Count[20];//用於統計每個單詞出現的次數     int i=0,j=0,k=0;     int Num;//表示單詞的個數

Java 統計一個字串每個單詞,或者字母出現的次數

package cn.itcast.demo24; import java.util.HashMap; /*  * 用程式碼實現以下需求(1)有如下字串"If you want to change your fate I think you must come to the

字串進行反轉。abcde --> edcba

import java.util.Scanner; public class Test6 { /** * 6、將字串中進行反轉。abcde --> edcba *

Java字串單詞字母變大寫

第一種方法:拆分成單獨的單詞,再對其每一個單詞的首字母變大寫public static void main(String[] args) { //方法1. String str = "this is a test of java"; String[] s = st

7-8 單詞長度(15 分)(字串單詞提取出來)

#include <bits/stdc++.h> using namespace std; int main() { string str, buf;//字串型別,長度不定 int n; getline(cin, str);//讀入字串

JS中將字串每個單詞的首字母大寫化

今天看到一個帖子,處理js中字串每個單詞的首字母大寫。 受到啟發,自己跟著改寫了幾個版本如下,請大家指正。 1、for迴圈: var a = 'Hi, my name\'s Han Meimei, a SOFTWARE engineer'; //for迴圈 funct

華為面試題:請編寫一個字串壓縮程式字串連續出席的重複字母進行壓縮並輸出壓縮後的字串

#include<iostream> #include<stdio.h> #include<cstring> using namespace std; //void stringZip(const char *pInputStr, long lInputLen, char

java 使用TreeSet字串的數值進行排序

一、使用類 1、TreeSet類 add(E e) 將指定的元素新增到此 set 2、String類 split(String regex) 根據給定正則表示式的匹配拆分此字串。返回字串陣

字串的字元反轉輸出

實現效果: 關鍵知識:(使用了Array類的Reveres靜態方法)   實現程式碼: private void button1_Click(object sender, EventArgs e) { if (textBo

刷題筆記2——字串的空格替換為指定的字串

題目描述 請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 1、方法1 通過一個string物件來將元素不斷加入其中,加完以後找出空格,刪除即可 內容介紹1 strin

java實現計算出字串每個字母出現次數

題目:java實現計算出字串中每個字母出現次數 示例: 輸入字串為:aBcdenffdhanbcdeefe+- .. 輸出字串為:B(1)a(2)b(1)c(2)d(3)e(4)f(3)h(1)n(2) 括號內數字為前面字母出現次數 實現程式碼: imp

需求說明:從鍵盤輸入一個字串統計字串每個字元的個數。如輸入“adbda”結果為a=2d=2b=1。

思路: 使用Scanner接收鍵盤輸入的字串。 使用HashMap統計每個字元的個數,其中key儲存字元,value用來記錄字元的數量。 原始碼: public static void main(String[] args) { //人性化提示資訊。 System

【演算法】字串的空格替換成指定字串

題目: 字串中的空格替換成指定字串,如%20。 給定一個字串,內部有空格,請用最少的時間複雜度、空間複雜度,將空格替換為%20 示例: 輸入: This is a test string 輸出: This%20is%20a%20test%20%string 思路: 只建立

字串的數字轉化為文字

String ids = "1,2,3"; String[] industryIdsArr = ids.split(","); String str = ""; if (industryIdsArr != null && industryIdsArr.length

javascript字串的多個空格替換為一個空格的正則例項

原文章路徑:https://www.jb51.net/article/101324.html 本部落格主要實現用javascript將字串中的多個空格替換為一個空格的正則例項,需要的朋友可以參考下 javascript將字串中的多個空格縮減為一個空格程式碼例項: 在實際應用中可能有

java練習之獲取字串每個字元出現的次數

練習題:輸入某個字串,獲取該字串中每個字元出現的次數。 思路:字元和次數之間存在對映關係。使用TreeMap集合。 由於操作字元的關係,先將字串轉化為字元陣列。對字元陣列進行遍歷,用每一個鍵作為key去map中查詢。如果該字母鍵不存在,就將該字母作為鍵,值為1儲存到map集合中。如果該字母鍵存在,就

字串的大寫字母轉換為小寫字母

實現函式 ToLowerCase(),該函式接收一個字串引數 str,並將該字串中的大寫字母轉換成小寫字母,之後返回新的字串。 示例 1: 輸入: "Hello" 輸出: "hello" 示例 2: 輸入: "here" 輸出: "here" 示例 3: 輸入: