又是另ㄧ種字串反轉問題?? |
答題得分者是:mypcweb
|
fj9071
一般會員 發表:8 回覆:4 積分:2 註冊:2005-01-07 發送簡訊給我 |
|
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
fj9701你好 你的問題可分3個部份
1. char str1[]="abc xyz pqr";用strtok把他拆成3個字串
http://delphi.ktop.com.tw/topic.php?topic_id=57671
【BCB】【問題】字串拆解的問題
2. 用strrev將3個字串反轉
#include3. 把3個字串利用strcat結合為1個字串後再傳回去 #include |
fnk
高階會員 發表:40 回覆:149 積分:102 註冊:2004-01-02 發送簡訊給我 |
不好意思...插個花...
//反轉副函式 void reverse(char *src) { int i,j,num; char Result[30]; num = strlen(src); for(i=(num-1),j=0;i>=0;i--,j ) Result[j] = src[i]; Result[num] = 0; strcpy(src,Result); } //測試程式 void __fastcall TForm1::Button1Click(TObject *Sender) { char str1[]="abc xyz pqr"; Form1->Canvas->TextOutA(0,0,str1); // 顯示反轉前 reverse(str1); Form1->Canvas->TextOutA(0,30,str1); // 顯示反轉後 }=========== 有興趣,就能進步 =========== |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
|
fnk
高階會員 發表:40 回覆:149 積分:102 註冊:2004-01-02 發送簡訊給我 |
|
mypcweb
一般會員 發表:0 回覆:2 積分:5 註冊:2005-03-22 發送簡訊給我 |
#include < stdio.h > void reverse(char *s) { //firsti 記錄遇到空白前的第一個 i //nowi 記錄目前運算到的 i //rem 用來判斷是否開始記錄 firsti ,如果 rem 等於 0 則記錄 firsti int firsti,nowi,i; int j,rem,num = strlen(s); rem = 0; //因為需要判斷到字串結尾的'\0'所以小於等於字串長度 for (i = 0; i <= num ; i ) { if (rem == 0) { rem = 1; firsti = i; } //如果遇到空白或結束時,開始倒印出之前的字母 if (s[i] == '\0' || s[i] == ' ') { nowi = i; nowi--; for ( j = nowi ; j >= firsti ; j--) { printf("%c",s[j]); } //如果是陣列內容是空白則印出空白 if (s[i] == ' ') printf (" "); rem = 0; } } } main() { char str1[]="abc xyz pqr"; printf("字串內容為: %s\n",str1); printf("測試字串 1 經處理後的內容 => "); reverse(str1); getch(); }發表人 - mypcweb 於 2005/03/22 22:29:55 |
fj9071
一般會員 發表:8 回覆:4 積分:2 註冊:2005-01-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |