1.寫一程式將傳入的字母大寫轉小寫,小寫轉大寫,其他字元則不變。 (C 版)
函數原型 void TrnCap(char *) 說明: 傳入 1 字元, 若該字元為大寫字母, 則轉成小寫, 若該字元為小寫字母, 則轉成大寫, 其他字元則不變。 傳入 字元 c 傳回 若字元 c 為大寫字母,則轉成小寫。若為小寫字母,則轉成大寫。其他字元則不變。 使用範例: char c; scanf("%c",&c); printf("c=%c\n",c); TrnCap(&c); printf("c=%c\n",c);
#include <stdio.h> 解答 |
|
2.寫一程式將傳入的字母大寫轉小寫,小寫轉大寫,其他字元則不變。 (C++ 版)
函數原型 void TrnCap(char &) 說明: 傳入 1 字元, 若該字元為大寫字母, 則轉成小寫, 若該字元為小寫字母, 則轉成大寫, 其他字元則不變。 傳入 字元 c 傳回 若字元 c 為大寫字母,則轉成小寫。若為小寫字母,則轉成大寫。其他字元則不變。 使用範例: char c; scanf("%c",&c); printf("c=%c\n",c); TrnCap(&c); printf("c=%c\n",c); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> 解答 |
|
3.寫一程式將傳入的字串裡,所有大寫轉小寫。(本題請使用上面題 1 或題 2 的副程式 TrnCap) (C++ 版) 函數原型 void LowCap(string &) 說明: 傳入一字串,裡面若有大寫字母,則轉成小寫字母,其餘字元不變。 傳入 字串 s 傳回 將字串 s 內所有大寫轉小寫。 使用範例: char s[]="Hello~ John"; printf("s=%s\n",s); LowCap(s); printf("s=%s\n",s); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> 解答 |
|
4.寫一程式將傳入的字串裡,所有小寫轉大寫。(本題請使用上面題 1 或題 2 的副程式 TrnCap)
(C 版) 函數原型 void UpCap(char *) 說明: 傳入一字串,裡面若有小寫字母,則轉成大寫字母,其餘字元不變。 傳入 字串 s 傳回 將字串 s 內所有小寫轉大寫。 使用範例: char s[]="Hello~ John"; printf("s=%s\n",s); UpCap(s); printf("s=%s\n",s); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> 解答 |
|
5.寫一字串處理函式,可以傳回字串長度。
函數原型 int strLen(char *) 說明: 傳入字串指標, 程式傳回 p 字串有幾個字。 傳入 字串 傳回 字串字元數量(字串長度) 使用範例: char x[100]; scanf("%[^\n]",x);//能接受空白 k=strLen(x); printf("str=%s , len=%d\n",x,k); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> int main(int argc, char** argv) { 解答 |
|
6.寫一字串統計函式。
函數原型 int CapSta(char *, int *, int *) 說明: 傳入一字串及兩整數變數,程式統計大小寫字母數量,並分別放在兩變數,程式傳回非英文字母數量。 傳入 一字串及兩整數 傳回 字串大寫數量、小寫數量及非英文字母數量 使用範例: char *x[100]; int a,b,c; scanf("%[^\n]",x); c=CapSta(x, &a, &b); printf("Upcase=%d\nLowcase=%d\nOther=%d\n",a,b,c); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> int main(int argc, char** argv) { 解答 |
|
7.寫三個去字串空白函式。LTrim 為去字串前空白。RTrim 為去字串後空白。Trim 為去字串前後空白。
函數原型 void LTrim(char *) void RTrim(char *) void Trim(char *) 說明: 傳入字串指標 p , 程式將 p 字串之前後空白去除。 傳入 一字串 傳回 LTrim 將字串前空白去除。 RTrim 將字串後空白去除。 Trim 將字串前後空白去除。 使用範例: char x[]=" Tx "; char y[]=" Ty "; char z[]=" Tz "; printf("[%s]=>",x); LTrim(x); printf("[%s]\n",x); printf("[%s]=>",y); RTrim(y); printf("[%s]\n",y); printf("[%s]=>",z); Trim(z); printf("[%s]\n",z); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> void LTrim(char *p){ int main(int argc, char** argv) { 解答 |
|
8.寫一字串搜尋函式。 函數原型 int instr(char *a, char *b) 說明: 傳入目標字串 a 及搜尋字串 b, 程式將搜尋 a 字串中,含有 b 字串的起始位置。 傳入 目標字串及搜尋字串 傳回 搜尋字串在目標字串的起始位置(以 0 為起點)。若不存在則傳回 -1 使用範例: int i; i=instr("Acd 2Cd3","Cd"); printf("i=%d\n",i); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> int instr(char *a,char *b){ int main(int argc, char** argv) { 解答 |
|
9.寫一字元複製函式。 (動態配置記憶體) 函數原型 void nChar(char c , int n , char **t) 說明: 傳入字元 c 及 整數 n , 程式將產生 n 個 c 字元在 t 字串中 。 傳入 字元 c 及複製數量 n。 傳回 產生 n 個 c 字元,放入 t 字串。 使用範例: char *x; nChar("F", 6, &x); printf("x=%s\n",x); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> void nChar(char c , int n , char *x){ int main(int argc, char** argv) { 解答 |
|
10.寫一字串連接函數。(被連接字串需自備空間) (本題可以使用前面寫過的函式) 函數原型 char *strCon(char *a, char *b) 說明: 傳入目標字串 a 及連接字串 b,程式會將 b 字串連接在 a 字串之後, 呼叫函數時,必須保證 a 字串有足夠空間容納 a 與 b 字串的總長度。 傳入 被連接字串 a 、連接字串 b 傳回 a 字串變成 a 與 b 字串連接後的新字串,並傳回 a 字串。 使用範例: char x[100]="1234";// 4 個字 char y[]="ABC"; //3 個字 char *z; z=strCon(x, y); // 3 + 4 = 7 個字,再加字串結尾, 共 8 個字, 在 100 字內 printf("x=%s\ny=%s\nz=%s\n",x, y, z); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> using namespace std; int strLen(char *p){ //使用前面的函式 } char *strCon(char *a, char *b){ //寫下你的程式碼 } int main(int argc, char** argv) { 解答 |
|
11.寫一個字串連接函數。 (本函式可以使用前面寫過的函式) 函數原型 char *strNCon(char *a, char *b, int n); 說明: 傳入目標字串 a 、連接字串 b 及連接位置 n,程式會從 a 字串的第 n 個字開始接上 b 字串, a 的第 n 個字以後會被切除,但若 n 大於 a 字串的長度,b 字串還是緊接在 a 字串後面。 程式傳回 a 字串。 本函數 a 字串空間必須足夠容納 a 與 b 字串合併後的字串長度。 傳入 標字串 a 、連接字串 b 、連接位置 n 傳回 a 字串 (a = a 字串第 n 字以後改為 b 字串) 使用範例: char x[]="1234567"; char *y; y = strcon(x, "ABC", 2); printf("x=%s\ny=%s\n",x,z); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> int strLen(char *p) { #include <iostream> int main(int argc, char** argv) { |
|
12.寫一個字串拷貝函式。(需自備空間) 本題請盡量使用前面的函數。 函數原型 char *strCopy(char *a, char *b); 說明: 傳入被拷貝字串 a 及拷貝字串 b , 程式將字串 a 拷貝至 b 字串。 b 字串必須足夠容納 a 字串空間。 傳入 被拷貝字串、拷貝字串 傳回 拷貝字串 。 使用範例: char x[100]="1234"; char y[100]; char *z; z = strCopy(x, y); printf("y=%s\nz=%s\n", y, z); //結果:1234 及 1234 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> using namespace std; char *strCopy(char *a, char *b) { |
|
13.寫一函式搜尋字串並替換新字串。(需自備空間) 本題請盡量使用前面的函數。 函數原型 void SDstr(char *a, char *b, char *c); 說明: 傳入目標字串 a 及搜尋字串 b , 程式在字串 a 中若找到 b 字串, 則將 a 字串裡的 b 字串替換成 c 字串。 a 字串 必須足夠容納替換後的新字串空間。 傳入 目標字串、搜尋字串、替換字串 傳回 已替換過的字串,若搜尋字串不存在,則目標字串不變。 使用範例: char x[100]="1234567"; SRstr(x,"45","WxYz"); printf("x=%s\n",x); //結果:123WxYz67 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> char *strCopy(char *a, char *b) { int instr(char *a, char *b) { char *strCon(char *a, char *b) { char *strNCon(char *a, char *b, int n) { void SDstr(char *a, char *b, char *c) { int main(int argc, char** argv) { 解答 |
|
14.寫一字串插入函式。 函數原型 char *strIns(char *a, char *b, int n); 說明: 傳入目標字串 a、插入字串 b 及插入位置 n,函式將在 a 字串第 n 個字元插入字串 b。 若 n > 字串 a 的長度,則 b 字串接在 a 字串後面。 a 字串空間必須足夠容納插入後的新字串空間。 傳入 目標字串、插入字串、插入位置 n 傳回 已插入後的字串。 使用範例: char x[]="1234567"; char *y; y = str(x, "ABC", 2); //結果:12ABC34567 printf("x=%s\ny=%s\n", x, y); 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> using namespace std; int strLen(char *p) { char *strCon(char *a, char *b) { char *strNCon(char *a, char *b, int n) { char *strCopy(char *a, char *b) { char *strIns(char *a, char *b, int n){ int main(int argc, char** argv) { 解答 |
|
15.寫一字串搜尋並刪除函式。 本題請盡量使用前面的函數。 函數原型 char *strDel(char *a, char *b); 說明: 傳入目標字串 a 及搜尋字串 b , 程式在字串 a 中若找到 b 字串, 則將 a 字串裡的 b 字串替刪除, 並傳回 a 字串。(若有重複,需全部刪除) 傳入 目標字串、搜尋字串 傳回 已經刪除過的字串。 使用範例: char x[100]="1234567"; strDel(x, "45"); printf("x=%s\n", x); //結果:12367 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> using namespace std; int strLen(char *p) { char *strCon(char *a, char *b) { char *strNCon(char *a, char *b, int n) { char *strCopy(char *a, char *b) { int instr(char *a, char *b){ char *strDel(char *a, char *b){ int main(int argc, char** argv) { |
|
16.寫一字串反轉函式。 函數原型 char *strRev(char *a); 說明: 傳入目標字串 a , 程式將 a 字串反轉 , 並傳回 a 字串。 傳入 目標字串 傳回 反轉後的字串。 使用範例: char x[100]="12345"; printf("x=%s\n", strRev(x) ); //結果:54321 將下列程式碼 (Dev C++ 版本),複製至你的程式碼,並在副程式部份填入你的程式碼。 #include <iostream> using namespace std; char *strRev(char *a){ int main(int argc, char** argv) { |