题目:在一个字符串中找到第一个只出现一次的字符,并输出它在字符串中的位置。如输入 abaccdeff,则输出 b 1。
定义一个256长度的数组,一个用来记录字符出现的次数。
然后在遍历字符数组,如果该字符出现了一次,输出并结束,否则继续。
#include <iostream>
using namespace std;
//在一个字符串中找到第一个只出现一次的字符
void find(const char *str)
{
int a[256]={0};
int n=strlen(str);
for(int i=0;i<n;i++)
{
a[str[i]]++;
}
for(int i=0;i<n;i++)
{
if(a[str[i]]==1)
{
cout<<(char)str[i]<<endl;
break;
}
}
}
void main()
{
char p[100];
cin>>p;
find(p);
system("pause");
}