實驗目的:學習函式的預設形參的使用。
內容:對於字串,實現以下填充函式,並編寫main函式測試這些函式:
1. padleft函式:
功能:將一字串左填充(在左邊填充指定字元)至n個字元的長度,可指定填充字元,比如填充「*」,如果不指定填充字元,則填充空格。
void padleft(char string1, char string2, int n, char padding=' ')
或:string padleft(string string1, int n, char padding=' ')
這裡使用了預設形參。
string1是原字串,string2是填充之後的結果。
類似地,可編寫右填充函式,函式原型參照padleft。
2. padright函式:
功能:將一字串右填充至n個字元的長度,可指定填充字元,比如填充「*」,如果不指定填充字元,則填充空格。
int main()
}return 0;
}測試程式輸入時,每組測試資料報含兩行,第一行輸入乙個整數,指定需要完成的操作,第二行為該操作需要的資料。
對於每個整數對應的操作及其相應資料的輸入方式如下(輸入的字串中不包含空格):
11:對應padleft,第二行輸入字串string1、整數n,其間以空格分隔(由於沒指定填充字元,所以填充空格)
異常處理:如果string1的長度大於等於n,則不填充任何字元。
12:對應padleft,第二行輸入字串string1、整數n、乙個填充字元,其間以空格分隔(填充字元不為空格)
異常處理:如果string1的長度大於等於n,則不填充任何字元。
21:對應padright,第二行輸入字串string1、整數n,其間以空格分隔(由於沒指定填充字元,所以填充空格)
異常處理:如果string1的長度大於等於n,則不填充任何字元。
22:對應padright,第二行輸入字串string1、整數n、乙個填充字元,其間以空格分隔(填充字元不為空格)
異常處理:如果string1的長度大於等於n,則不填充任何字元。
對於每組測試資料,輸出對應的結果。如果結果為空字串,則輸出乙個空行。
每行行首與行尾無多餘空格,第一行之前與最後一行之後無多餘空行。
11abcdef 4
12abcdef 8 *
21abcdef 6
22abcdef 10 .
abcdef**abcdef
abcdef
abcdef....
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
string padleft(string string1, int n, char padding=' ')
string padright(string string1, int n, char padding=' ')
} return 0;
}
字串1 字串的旋轉
題目描述 給定乙個字串,要求將字串前面的若干個字元移到字串的尾部。例如 將字串 abcdef 的前三個字元 a b c 移到字串的尾部,那麼原字串將變成 defabc 首先想到的是將需要移動的字元乙個乙個移到字串的尾部。實現如下 public class transfet s n 1 t publi...
前端練習38 字串居中填充
padstart,padend及其polyfill 字串處理 完成函式centerpad可以讓乙個字串被包裹在指定的可重複的字串中間,例如 centerpad hello 13,abc abcahelloabca centerpad gook luck 30,gook luck 第乙個引數為被包裹的...
1 字串 反轉單詞
如給定 the sky is blue 返回 blue is sky the 多個空格變成乙個空格 python class solution def str self,s if len s 0 return temp i 0 while i len s j i while not s j issp...