题目:
实现删除字符串中连续的重复字符(除字母和数字)。 输入为字符串,将字符串中连续重复的,不是字母且不是数字的字符删去,然后输出处理后的字符串。 输入字符串最长50个字符,之后截断,只输出处理后的字符串。 例如 输入11+++2==13回车 输出11+2=13
分析:使用isnum()函数检验字符是否是数字或字母,再检查此字符与下一个字符是否为同一个字符 ,若是要保留的字符则保存在一个新的数组中,否则跳过它检查下一个字符
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch[51];
gets(ch);
char ch1[51]={0};
int x=0;
for(int i=0;i<50;i++)
{
if(isalnum(ch[i]))
{
ch1[x] = ch[i];
x++;
continue;
}
if(ch[i]!=ch[i+1])
{
ch1[x] = ch[i];
x++;
}
}
for(int i=0;ch1[i]!='\0';i++)
{
putchar(ch1[i]);
}
return 0;
}