當前位置:首頁 » 文件管理 » c語言字元串壓縮

c語言字元串壓縮

發布時間: 2022-06-06 13:24:22

『壹』 c語言編程:字元串壓縮

話說B數組不應該是整形呀,不然不能保存字母了。以下是我的代碼。。。

#include<iostream>

#include<string.h>

#include<stdio.h>

usingnamespacestd;


voidyasuo(chara[],charb[])

{

intcount=1,p=0;

for(inti=0;i<strlen(a);i++)

if(a[i]==a[i+1])

count++;

elseif(count>2)

{

b[p++]=(char)(count+'0');

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

count=1;

}

elseif(count==2)

{

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

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

count=1;

}

else

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

}

voidprintB(charb[])

{

cout<<b<<endl;

}

voidbackB(charb[])

{

for(inti=0;i<strlen(b);i++)

if(b[i]<='9'&&b[i]>='3')

{

for(intj=0;j<(int)(b[i]-'0');j++)

cout<<b[i+1];

i++;

}

else

cout<<b[i];

cout<<endl;

}

intmain()

{

chara[1000]={0},b[1000]={0};

gets(a);

yasuo(a,b);

printB(b);

backB(b);

}

『貳』 使用C語言實現字元串的壓縮。

/*
原串:111225555
壓縮後:312245
原串:333AAAbbbb
壓縮後:333A4b
原串:ASXDCdddddd
壓縮後:1A1S1X1D1C6d
Pressanykeytocontinue
*/
#include<stdio.h>
#include<string.h>

char*CompressStr(chars[]){
chart[255];
inti=0,j,k=0;
while(s[i]){
j=i+1;
while(s[i]==s[j])++j;
t[k++]=j-i+'0';
t[k++]=s[i];
i=j;
}
t[k]='';
strcpy(s,t);
returns;
}

intmain(void){
chari,s[][20]={"111225555","333AAAbbbb","ASXDCdddddd"};
for(i=0;i<3;++i){
printf("原串:%s ",s[i]);
printf("壓縮後:%s ",CompressStr(s[i]));
}
return0;
}

『叄』 c語言字元串如何壓縮

話說B數組不應該是整形呀,不然不能保存字母了。以下是我的代碼。。。

#include<iostream>

#include<string.h>

#include<stdio.h>

usingnamespacestd;


voidyasuo(chara[],charb[])

{

intcount=1,p=0;

for(inti=0;i<strlen(a);i++)

if(a[i]==a[i+1])

count++;

elseif(count>2)

{

b[p++]=(char)(count+'0');

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

count=1;

}

elseif(count==2)

{

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

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

count=1;

}

else

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

}

voidprintB(charb[])

{

cout<<b<<endl;

}

voidbackB(charb[])

{

for(inti=0;i<strlen(b);i++)

if(b[i]<='9'&&b[i]>='3')

{

for(intj=0;j<(int)(b[i]-'0');j++)

cout<<b[i+1];

i++;

}

else

cout<<b[i];

cout<<endl;

}

intmain()

{

chara[1000]={0},b[1000]={0};

gets(a);

yasuo(a,b);

printB(b);

backB(b);

}

『肆』 c語言,如何解壓縮字元串,例如:a12g5y8,反解壓後變成aaaaaaaaaaaagggggyyyyyyyy,,求代碼,謝謝

#include<stdio.h>

voidstrjieya(charsrc[],charres[])
{
intsrc_pos=0;
intres_pos=0;
intchar_num=0;
inti;
while(src[src_pos]!=0)
{
if(src[src_pos]<'0'||src[src_pos]>'9')
{
res[res_pos]=src[src_pos];
src_pos++;
res_pos++;
}
else
{
sscanf(&src[src_pos],"%d",&char_num);
char_num=char_num-1;//因為上面已經放進去一個了
for(i=0;i<char_num;i++)
{
res[res_pos]=src[src_pos-1];
res_pos++;
}
while(src[src_pos]>='0'&&src[src_pos]<='9')
{
src_pos++;
}
}
}
res[res_pos]=0;
}

intmain()
{
chara[]="a12g5y8";
charb[1000];
strjieya(a,b);
printf("%s ",a);
printf("%s ",b);
return0;
}

結果:
a12g5y8
aaaaaaaaaaaagggggyyyyyyyy
Pressanykeytocontinue

『伍』 c語言 壓縮字元串:如AABBCCDDDD,輸出2A2B2C4D,用C語言,求問

#include<stdio.h>
#include<string.h>
void
main()
{
char
s[51];
int
i=0,j=1;
printf("請輸入一個長度不超過五十的字元串(否則會越界出錯):\n");
scanf("%s",s);
if(strlen(s)>50){
printf("輸入不合要求!");
return;
}
while(i<strlen(s))
{
//j用於統計重復的字母個數
if(s[i]==s[i+1])
j++;
else{
printf("%d%c",j,s[i]);
j=1;//j重新計數
}
i++;
}
printf("\n");
}
不好意思昨晚寫的,沒仔細看,有錯誤。

『陸』 下面的c語言字元串壓縮程序怎麼寫呀 輸入樣例 a5b3aba13b4 輸出: aaaaabbbabaaaaaaaaaaaaabbbb

#include <stdio.h>
#include <string.h>
void main()
{
char s[80];
int n=0,i=0,j;
printf("請輸入字元串:");
gets(s);
if(strlen(s)%2!=0)
{
printf("輸入有誤!");
return;
}
for(i=0;s[i]!='\0';i+=2)
{
for(j=1;j<=s[i+1]-48;j++)
printf("%c",s[i]);
}
printf("\n");
}

『柒』 C語言鏈表實現字元串壓縮, 求大神幫助啊,跪謝。...

#include <stdio.h>
typydef struct ch
{
char c;//字元

int num;//字元個數

}Ch;
typedef struct list
{
Ch cha;

Ch *next;

}List;
void main()//以「aaaaabbbbbb」為例

{
List *head; //頭結點
List *l = (List*)malloc(sizeof(List));

l->cha.c = a;

l->cha.num = 5;

head =l;

l ->next= (List*)malloc(sizeof(List));
l = l->next;

l->cha.c = b;

l->cha.num = 6;

l->next =NULL;

l = head;

while(l != NULL)

{
for(int i =0; i< l->cha.num;i++)

printf("%c");

l = l->next;

}

}

熱點內容
界面像電腦一樣的伺服器 發布:2025-01-21 06:29:52 瀏覽:989
匿名祝福源碼 發布:2025-01-21 06:29:13 瀏覽:348
雲識別系統登陸密碼是多少 發布:2025-01-21 06:23:39 瀏覽:368
stl源碼剖析中文 發布:2025-01-21 06:14:17 瀏覽:344
我的世界手機版為什麼連不上伺服器 發布:2025-01-21 06:14:17 瀏覽:453
壓縮機的性能參數 發布:2025-01-21 06:10:34 瀏覽:607
2014年預演算法修訂歷時20年 發布:2025-01-21 06:05:46 瀏覽:191
linux切換到root用戶 發布:2025-01-21 06:05:38 瀏覽:516
php存在文件 發布:2025-01-21 06:04:51 瀏覽:171
故鄉的密碼標題運用了什麼手法 發布:2025-01-21 06:00:20 瀏覽:724