#includestdio.h
目前成都创新互联已为上1000+的企业提供了网站建设、域名、虚拟空间、网站托管、企业网站设计、北海网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
int compress(char s[])
{ int i,j,k,n,a[127]= {0};
for(i=0; s[i]; i++)a[s[i]]++;
n=i;
for(i=0; s[i]; i++)
{if(a[s[i]]1)
for(k=i,j=i+1; s[k]; j++)
if(s[i]!=s[j])s[++k]=s[j];
}
return n-i;
}
int main()
{ char s[100];
int i,count;
gets(s);
count=compress(s);
puts(s);
printf("删除字符:%d个\n",count);
return 0;
}
#include stdio.h
void stringZip(const char
*pInputStr, long lInputLen, char *pOutputStr)
{ int n=1;
char c,*p1=pInputStr,*p2=pOutputStr;
while(*p1)
{
c=*(p1++);
while(*p1==c){n++;p1++;}
if(n1)
{
if(n999){*(p2++)=48+n/1000; n/=10;}
if(n99){*(p2++)=48+n/100; n/=10;}
if(n9){*(p2++)=48+n/10; n/=10;}
*(p2++)=48+n;
}
*(p2++)=c;
n=1;
}
*p2='\0';
}
void main()
{ char s1[200],s2[200];
gets(s1);
stringZip(s1,strlen(s1),s2);
puts(s2);
}
话说B数组不应该是整形呀,不然不能保存字母了。以下是我的代码。。。
#include iostream
#include string.h
#include stdio.h
using namespace std;
void yasuo(char a[],char b[])
{
int count=1,p=0;
for(int i=0; istrlen(a); i++)
if(a[i]==a[i+1])
count++;
else if(count2)
{
b[p++]=(char)(count+'0');
b[p++]=a[i];
count=1;
}
else if(count==2)
{
b[p++]=a[i];
b[p++]=a[i];
count=1;
}
else
b[p++]=a[i];
}
void printB(char b[])
{
coutbendl;
}
void backB(char b[])
{
for(int i=0; istrlen(b); i++)
if(b[i]='9'b[i]='3')
{
for(int j=0; j(int)(b[i]-'0'); j++)
coutb[i+1];
i++;
}
else
coutb[i];
coutendl;
}
int main()
{
char a[1000]= {0},b[1000]= {0};
gets(a);
yasuo(a,b);
printB(b);
backB(b);
}
#includestdio.h
#define MAX_NUM 32int main()
{ char *p,str[60];
int i,j=0;
static int num[26];
p=(char*)malloc(MAX_NUM*sizeof(char));
gets(str);
for(i=0;str[i];i++)
{ if(str[i]==' ') p[j++]=str[i];
else {
if(num[str[i]-97]==0||num[str[i]-97]==2||num[str[i]-97]==5)
{ p[j++]=str[i]; num[str[i]-97]++;}
else num[str[i]-97]++;
} }
for(i=0;ij;i++)
putchar(p[i]);
getch();
return 0;
}注:输入的为小写字母,而且句子长度不超过60个字符,保存字数不超过32个。。。。。在win_tc中通过……
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款