编写一个程序,去掉给定字符串中重复的字符。
更多资料请点击:我的目录
我的方法是:先跑俩个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;
}
更多资料请点击:我的目录