题目描述
找出字符串中第一个只出现一次的字符
如果无此字符 请输出'.'
输入描述:
输入一串字符,由小写字母组成
输出描述:
输出一个字符
输入例子:
asdfasdfo
输出例子:
o 思路:
数组s记录出现的字母顺序。time数组记录出现的次数,每个char对应一个int型,,,所以,字母a出现的次数可以直接用time['a']表示。 AC代码:
#include "iostream"
#include "string.h"
#define MAX 201
using namespace std; char FindChar(char* pInputString)
{
char s[];//字母出现的顺序
int time[MAX] = {};//字母出现的次数
int t = ;
char ans; for (int i = ; i < strlen(pInputString); i++)
{
if (time[pInputString[i]] == )
{
s[t] = pInputString[i];
t++;
} time[pInputString[i]] ++;
} for (int i = ; i < t; i++)
{
if (time[s[i]] == )
{
ans = s[i];
return ans;
}
} return '.';
} int main()
{
char a[MAX];
char p; while (cin >> a)
{
cout << FindChar(a)<<endl;
} system("pause");
}