用C语言指针实现字符串压缩

编写一个程序,输入一个字符串,然后采用如下的规则对该字符串当中的每一个字符进行压缩:(1) 如果该字符是空格,则保留该字符。(2) 如果该字符是第1次出现或第3次出现或第6次出现,则保留该字符(3) 否则删除该字符。

#include<stdio.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;i<j;i++)
putchar(p[i]);
getch();
return 0;
}注:输入的为小写字母,而且句子长度不超过60个字符,保存字数不超过32个。。。。。在win_tc中通过……
温馨提示:答案为网友推荐,仅供参考