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;
}