【c語言】字串替換空格:請實現一個函式,把字串中的每個空格替換成“%20”
// 字串替換空格:請實現一個函式,把字串中的每個空格替換成“%20”。 // 例如輸入“we are happy.”,則輸出“we%20are%20happy.” #include <stdio.h> #include <assert.h> char* replace(char* p) { char* ret = p; int num = 0; int oldlen = 0; int newlen = 0; char* q = p; char* r; assert(p != NULL); while (*p != '\0') { if (*p == ' ') { num++; } oldlen++; p++; } p = q; newlen = oldlen + 2 * num; q = p + oldlen - 1; r = p + newlen - 1; while (q != r) { if (*q == ' ') { *r-- = '0'; *r-- = '2'; *r-- = '%'; } else { *r = *q; r--; } q--; } return ret; } int main() { char p[20] = "we are happy."; printf("原字串是:%s\n", p); printf("替換後的字串是:%s\n", replace(p)); return 0; } <img src="https://img-blog.csdn.net/20150704100218180?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
相關推薦
【c語言】字串替換空格:請實現一個函式,把字串中的每個空格替換成“%20”
// 字串替換空格:請實現一個函式,把字串中的每個空格替換成“%20”。 // 例如輸入“we are happy.”,則輸出“we%20are%20happy.” #include <stdio.h> #include <assert.h>
字串替換空格:請實現一個函式,把字元陣列中的每個空格替換成“%20”
例如輸入“we are happy”,則輸出“we%20are%20happy” 想要實現這個目的,先觀察下面的函式實現原理圖。 先通過遍歷字元陣列,找出其中的空格數,計算出應該移動到的位置,接著就
【我的演算法日記】請實現一個函式,把字串中的每個空格替換成“%20”。例如輸入“We are happy.”,則輸出“We%20are%20happy.”。
請實現一個函式,把字串中的每個空格替換成“%20”。例如輸入“We are happy.”,則輸出“We%20are%20happy.”。在劍指offer中有這樣一道題目,我已經既不清楚了,我記得該題好像不準使用輔助空間,需要在遠字串上進行操作,如果在java中,直接用re
請實現一個函式,把字串中的每個空格替換成“%20”,例如輸入 “We are Happly。” 則輸出“we%20are%20happy。”
請實現一個函式,把字串中的每個空格替換成“%20”,例如輸入 “We are Happly。” 則輸出“we%20are%20happy。” void ReplaceBlank(char String[],int length) { //originalLength
java 劍指offer 第二題:請實現一個函式,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。
** public class Solution { public String replaceSpace(StringBuffer str) { 首先程式給出的引數是StringBuffer類,那麼我首先考慮的是就呼叫StringBuffer類的相關方法完成操作。
【劍指offer】請實現一個函式,將一個字串中的每個空格替換
劍指offer 題目如下 請實現一個函式,將一個字串中的每個空格替換成"%20"。 例如,當字串為We Are Happy, 則經過替換後的字串為 We%20Are%20Happy。 具體的程式碼實現如下 1.遍歷實現 public class Solution {
【c語言】巨集(#define、#和##)與函式比較
#define -定義識別符號 ef:#define在預處理階段替代所有的Max #define Max 100 int main() { printf("%d\n", Max); system("pause"); return 0
【C語言】佇列演示(佇列的幾個函式)
/* * 佇列演示(佇列的幾個函式) * */ typedef struct { int arr[SIZE]; int head; //記錄最前面數字所在的下標 int tail; //記錄最後一個有效數字的下一個座標
【c語言】將一個數的二進位制序列逆序,然後輸出逆序之後的二進位制序,所對應的數
<pre name="code" class="cpp">// 將一個數的二進位制序列逆序,然後輸出逆序之後的二進位制序,所對應的數 #include <stdio.h> // 從原數拿出最低位,放到mid中,mid左移,原數右移 int r
【C語言】給定兩個整型變數的值,將兩個值的內容進行交換(不同方法)
給定兩個整型變數的值,將兩個值的內容進行交換,現在我介紹幾種不同的實現方法:法1:在主函式裡實現,這樣操作這兩個值時並未重新開闢空間,直接交換可以達到目的。#include<stdio.h> #include<stdlib.h> int m
請實現一個函式,將一個字串中的每個空格替換成指定符號。
題目描述 請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 /* 思路:從前向後記錄‘ ’數目,從後向前替換‘ ’。 重點:從後向前替換的時候的技巧 例如:“we are lucky”
請實現一個函式,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。
string replaceSpace(string str) { int num_black=0; int len_str = str.length(); char array_str[20
請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。
public class Solution { public String replaceSpace(StringBuffer s
實現一個函式,把一個字串中的字元從小寫轉為大寫。
#include <stdio.h> #include <stdlib.h> #include <conio.h> void upper(char* s, char* us) { while(*s != '\0')
實現一個函式,把一個字串轉換成整數
作者:翁鬆秀 劍指offer之“把一個字串轉換成整數” 很多人看到這麼簡單的面試題目,都是大筆一揮,立馬寫下洋洋灑灑函式: int StringToInt(char* string){ int num = 0; while(*str
【C語言】統計一個字串中字母、數字、空格及其它字元的數量
統計一個字串中字母、數字、空格及其它字元的數量 解法1: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> void Count(con
【c語言】模擬實現strchr函式,功能:在一個字串中查詢一個字元第一次出現的位置,如果沒有出現返回NULL
// 模擬實現strchr函式,功能:在一個字串中查詢一個字元第一次出現的位置,如果沒有出現返回NULL #include <stdio.h> #include <assert.h> char const* my_strchr(char cons
【c語言】第一個只出現一次的字元題目:在字串中找出第一個只出現一次的字元
// 第一個只出現一次的字元題目:在字串中找出第一個只出現一次的字元。 // 如輸入“abaccdeff”,則輸出’b’。 #include <stdio.h> #include <string.h> char find_one(ch
【C語言】字串處理自定義函式
1、字串求長度 #include <stdio.h> int Mystrlen1(const char *str) { int i=0; while(*(str++)!='\0') { i++; } return i; } int Mystrlen2(cons
【C語言】字串函式strtok 按照指定字串分割
C語言字串函式 strtok() 函式原型 char *strtok(char *str,const char *delimiters); 引數 str,待分割的字串 delimiters,分隔符字串 該函式用來將字串str分割成一個個片段。 引數str指