字串中特定單詞逆序

2021-04-12 23:52:57 字數 879 閱讀 3891

題目是:

讀入一行文字,包含若干個單詞(以空格間隔,%結尾)。將其中以 a 開頭的單詞與以 n 結尾的單詞,用頭尾交換的辦法予以置換。

先看源程式:

// t.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include

using std::string;

using namespace std;

void fn(string &);

void reverse(string&, string::size_type, string::size_type);

int _tmain(int argc, _tchar* argv)

void fn(string& str)}}

}}void reverse(string& str, string::size_type ix, string::size_type iy)

str[x] = temp;

reverse(str, ix, iy - 1);}}

reverse函式是乙個利用遞迴逆序字串的函式。它的思想是先將長度為n的字串首元素儲存到臨時變數temp,然後將剩餘的字串前移,再將臨時變數放在字串尾,最後呼叫reverse函式將從字串首開始n-1長度的字串逆序。

fn的思想是先找到以字元a或a開始的串,然後判斷這個單詞是否以n或n結尾。如果是,則將該單詞逆序。

程式我試著用了下最近才看的stl,有點收穫呵呵。我發現string的使用基本和陣列一致。string的元素可以用char、int等內建型別接收,也可以用string::value_type。string的長度可以使用string::size_type。

還有getline函式不會提取流中的回車,但可以提取空格。

字串 字串逆序

題目一 如果乙個字串 str 把字串 str 前面的任意部分挪到後面去形成的字串叫做 str 的旋轉詞。比如 str 1234 那麼 str 的旋轉詞有 1234 2341 3412 4123 給定兩個字串 a 和 b 請判斷 a 和 b 是否互為旋轉詞?舉例 a cdab b abcd 返回 tr...

字串逆序

1 方法1 protected void page load object sender,eventargs e 1.逆序乙個字串 public string reversestr return s1 2 方法2 public void reversestr 方法3 protected void p...

字串逆序

reverse int arr,int b,int e rightshift int arr,int n,int k abc defg defg abc 方法一 翻轉 abc defg cba gfed cba gfed defg abc經過三次翻轉 如上。方法二 交換加翻轉 abc defgh d...