c語言字串如何壓縮

2021-05-02 11:22:19 字數 1215 閱讀 4541

1樓:快先帶兒子走

話說b陣列不應該是整形呀,不然不能儲存字母了。以下是我的**。。。

#include

#include

#include

using namespace std;

void yasuo(char a,char b)else if(count==2)

else

b[p++]=a[i];

}void printb(char b)

void backb(char b)

else

cout

int main()

,b[1000]= ;

gets(a);

yasuo(a,b);

printb(b);

backb(b);}

2樓:育知同創教育

如果資料結構是陣列的話,主要是要解決兩個問題,一是統計重複的字元,二是確定陣列壓縮後每個元素在陣列中所處的位置。

可以用一個指標遍歷陣列,另一個指標標記儲存位置。

字串或串(string)是由數字、字母、下劃線組成的一串字元。一般記為 s="a1a2···an"(n>=0)。它是程式語言中表示文字的資料型別。

通常以串的整體作為操作物件,如:在串中查詢某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字串相等的充要條件是:

長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的儲存方式是順序儲存方式和連結儲存方式。

3樓:參觀西湖

/*b陣列可以是整形呀*/

#define src_max 50

#define dest_max 100

void yasuo(char * srcarray, int dstarray)

else

p++;

}if (*p == null)

}void dayin(int arr)

}printf("\n");

}void huanyuan(int arr)}}printf("\n");

}int main()

;gets(a);

int b[dest_max] = ;

yasuo(a, b);

dayin(b);

huanyuan(b);}

c語言字串陣列的問題C語言字串陣列的問題

include int main scanf s a for i 0 a i 0 i for j 0 j 5 j 修改 1 下標從0 4,共5個 return 0 每行結尾的 僅僅是為了連線字串使用的,如果一個字串過長,寫在一行比較不合適,就在該行結尾處加上一個反斜槓 就可以在下邊的行繼續寫這個字串...

C語言字串出現亂碼,C語言 字串輸出時最後出現亂碼

第6行改為 char a 100 b 100 如果要輸出最終結果,沒必要每複製一個字元就輸出一次。將第25行刪掉。可以參考一下這個,講的很清楚 亂碼問題 codeblocks亂碼問題。它這個是codeblocks的,其他其實也差不 太多吧。關鍵是 原始檔儲存編碼 編譯器解釋原始檔的編碼 生成執行檔案...

c語言字串符

include include main char a 100 b 100 c 100 int i 0,j 0,n 0 gets a while a i 0 if a i 7 0 a i 1 7 0 b j a i b j a i 1 n i i b j 0 for i j 0 i 0 i j if...