题目内容:
功能:实现删除字符串中连续的重复字符(除字母和数字)。 输入为字符串,将字符串中连续重复的,非字母和数字的字符重复地删去,然后输出处理后的字符串。要求用指针指向输入的字符串进行操作。
输入样例:
1+++2==3
输出样例:
1+2=3
这是双指针的应用场景,将一个指针指A向一点后,另一指针B移动,与另一指针A比较后决定是否输出。代码如下图:
代码断:
#include
int main()
{
char str[300];
gets(str);
char *mi=&str,*ma=NULL;
while(*mi){
if((*mi>='0'&&*mi<='9')||(*mi>='a'&&*mi<='z')||(*mi>='A'&&*mi<='Z')){
printf("%c",*mi);ma=&*mi;
}
else{
if(*mi!=*ma){ printf("%c",*mi);ma=&*mi;}
}
*mi++;
}
return 0;
}
学习了指针后,一些问题比较好解决了,也不需要求出具体的字符串长度,还是比较方便的。
留言与评论(共有 0 条评论) “” |