问题描述
为库设计新函数DelPack,删除输入字符串中所有的重复元素。不连续的重复元素也要删除。
要求写成函数,函数内部使用指针操作。
要求写成函数,函数内部使用指针操作。
样例输入
1223445667889
样例输出
13579
样例输入
else
样例输出
ls
数据规模和约定
字符串数组最大长度为100。
//--------C-----------
#include<stdio.h>
#include<string.h>
int main()
{
int i,n,j;
char a[101];
gets(a);
n=strlen(a);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(a[i]==a[j])
{
a[i]='@';
a[j]='@';
}
for(i=0;i<n;i++)
if(a[i]!='@')
printf("%c",a[i]);
return 0;
}
//-----------C++----------------
#include <iostream>
#include <cstring>
#include <string>
struct aaa
{
char b;
int v;
}aa[101];
int main()
{
std::string a;
std::cin >> a;
aa[0].b = a[0];
aa[0].v++;
int i = 1, m = 1;
while (true)
{
int j;
for (j = 0; j < m; j++)
{
if (aa[j].b == a[i])
{
aa[j].v++;
break;
}
}
if (j == m)
{
aa[m].b = a[i];
aa[m].v++;
m++;
}
i++;
if (a[i] == '\0')
break;
}
for (int i = 0; i < m; i++)
{
if (aa[i].v == 1)
std::cout << aa[i].b;
}
std::cout << std::endl;
}