我写了一个,就是无法输出。
#include<stdio.h>
int i,count;
int main()
{char s[100];
int i;
gets(s);
for(i=0;s[i]!='\0';i++);
i--;
compress(s[i]);
puts(s);
printf("%d",count);
return 0;
}
int compress(char s[])
{
int j,count=0;
for(j=1;j<i-count;j++){
if(s[j]=s[j-1]){
if(j+1==i-count-1) s[j+1]='\0';
else {s[j]=s[j+1];count++;}}
else continue;}
return s[i-count];
}
#include<stdio.h>
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;
}
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;
}
温馨提示:答案为网友推荐,仅供参考