Problem  Description:

给定一个英文字符串,请写一段代码找出这个字符串中首先出现三次的那个英文字符。

Input:

输入数据一个字符串,包括字母,数字等。

Output:

输出首先出现三次的那个英文字符

Sample  Input:

Have you ever gone shopping and

Sample  Output:

e

思路:这道题其实很简单,只是我想的不太严谨。我一开始以为大写字母和小写字母是一样的情况,可是其实不是这样的,也就相当于52个英文字母(大写+小写)中,找出首先出现3次的英文字符。而且这道题只让考虑英文字符,其他字符不考虑。

My  DaiMa:

#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int a[27];
int main()
{
    string ch;
    getline(cin,ch);
    for(string::size_type i=0;i!=ch.size();i++)
    {
        if((ch[i]>='a'&&ch[i]<='z')||(ch[i]>='A'&&ch[i]<='Z'))
        {
            a[ch[i]-'A']++;  //给英文字符计数,看啥时候出现3次
            if(a[ch[i]-'A']==3)
            {
                printf("%c",ch[i]);
                break;
            }
        }
    }
    return 0;
}