编写一个程序,去掉给定字符串中重复的字符。

编写一个程序,去掉给定字符串中重复的字符。
更多资料请点击:我的目录

我的方法是:先跑俩个for循环,遍历所有元素,将每一个元素与数组所有元素作比较,如果相同,将下一个元素赋给当前已有的元素,跑第三个循环,依次将后一项赋给前一项。因为所有元素项前移一位,那么结尾项n就会与前一项n-1相同,因此循环结束后需要将数组长度减一(j–),并将(N–)回到移项后的第一位开始下一轮循环比较。

#include<stdio.h>
#include<string.h>

int main()
{
	char str[120];
	int i, j, k;
	scanf("%s",str);//连续输入字符串
	int N = strlen(str);

	for(i = 0; i <= N-1; i++)
	{
		for(j = i + 1; j <= N-1; j++)
		{
			if(str[i] == str[j])
			{
				for(k = j; k <= N-1; k++)
				{
					str[k]=str[k + 1];
				}
					N --;
					j --;//避免出现多个相同字符连在一起时出错的问题
			}
		}
	}  
	printf("%s\n",str);
	return 0;
}

在这里插入图片描述
更多资料请点击:我的目录

发布了75 篇原创文章 · 获赞 35 · 访问量 5920

猜你喜欢

转载自blog.csdn.net/weixin_43793181/article/details/103998909
今日推荐