题目描述
输入描述:
输入包括一个由字母和数字组成的字符串,其长度不超过100。
输出描述:
可能有多组测试数据,对于每组数据, 按照样例输出的格式将字符出现的位置标出。 1、下标从0开始。 2、相同的字母在一行表示出其出现过的位置。
输入
abcaaAB12ab12
输出
a:0,a:3,a:4,a:9 b:1,b:10 1:7,1:11 2:8,2:12
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
string s;
while(cin>>s)
{
for(int i=0;i<s.size()-1;++i)
{
bool first=false;
if(s[i]=='*')
continue;
for(int j=i+1;j<s.size();++j)
{
if(s[i]==s[j])
{
if(!first)
{
cout<<s[i]<<":"<<i;
first=true;
}
cout<<","<<s[j]<<":"<<j;
s[j]='*';
}
}
if(first)
{
cout<<endl;
}
}
}
}