190104作業-字串空格替換為指定字串
阿新 • • 發佈:2019-01-05
題目:將 字 符 串 中 的 空 格 替 換 成 “%020” , 例 如 “hello world how ”
->”hello%020%020%020world%020%020%020how%020%020%020%020”
遍歷兩次,第一次數出空格數,申請新的字串,再次遍歷進行替換
#include <stdio.h> #include <stdlib.h> #define MAX 100 void Space_Sub() { char ch[MAX]; char *p; while (gets_s(ch,MAX)!=NULL) { int iSpace = 0; p = ch; while (*p) { if (*p== ' ') iSpace++; p++; } char *new_ch = (char *)malloc(sizeof(ch) + 3 * iSpace * sizeof(char)); p = ch; char *pnew = new_ch; while (*p) { if (*p != ' '&&*p) { *pnew = *p; ++p; ++pnew; } else { if (*p == ' ') { *pnew = '%'; *(pnew + 1) = '0'; *(pnew + 2) = '2'; *(pnew + 3) = '0'; pnew += 4; p++; } } *pnew = 0; } puts(new_ch); } } int main() { Space_Sub(); system("pause"); }