输入示例:
abcdefgabc
输出示例:
abcdefg
先放出代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;//定义一个字符串
cin >> str;//输入一个字符串
for (int i = 0; i<str.size(); i++)//循环遍历字符串
{
int value = 0;//定义一个变量,确定字符是否重复
for (int o = i - 1; o>=0; o--)//检测字符是否重复
{
if (str[o] == str[i])
{
value = 1;
break;
}
}
if (value == 0)
{
cout << str[i];
}
}
}
代码没什么好说的,
最重点的部分就是下面一段代码
for (int o = i - 1; o>=0; o--)
{
if (str[o] == str[i])
{
value = 1;
break;
}
}
if (value == 0)
{
cout << str[i];
}
}
怎么来判断字符串一个字符在字符串中重复出现且不是第一个出现呢?
我的想法就是:
根据这个字符串所在的位置,向前遍历字符串
若前面字符串存在同样的字符则不输出此字符,若不存在,则输出。