c++从控制台输入一行字符{如 a b c d a h a g o}将其中不重复的打印出来

如题所述

//newlen 新的数组长度 int* 返回新的数组
char* GetNewArray(char a[],int n,int& newlen)
{
int count = 0;
int i=0;
int j=0;
for (i=0;i<n;i++)
{
int index = 0;
for (j=i+1;j<n;j++)
{
if(a[i] == a[j])
index++;
}
if(index == 0)
count++;
}

char* b = new char[count];
newlen = count;
count = 0;
for (i=0;i<n;i++)
{
int index = 0;
for (j=i+1;j<n;j++)
{
if(a[i] == a[j])
index++;
}
if(index == 0)
{
b[count] = a[i];
count++;
}
}
return b;
}
int main()
{
char a[] = {'a','b','c','d','a','h','a','g','o'};
int len = 0;
char* b = GetNewArray(a,9,len);
for (int i=0;i<len;i++)
{
cout<<b[i]<<endl;
}
getchar();
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-06
#include <iostream>
using namespace std;
int main()
{
int occurred[256] = {0};
unsigned char temp;
while (cin >> temp)
{
if (!occurred[temp])
{
cout << temp << endl;
occurred[temp] = 1;
}
}
return 0;
}
相似回答