題目是:
讀入一行文字,包含若干個單詞(以空格間隔,%結尾)。將其中以 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...