附代码:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
getline(cin,s);//因为字符串包含空格,所以使用getline输入
int a=s.size();//使用size得出改字符串的单个字符个数
string s1,s2;//s1是要查找的单词,s2是后面用来单独装这个字符串的各个单词
cin>>s1;//输入我们要查找的单词
int y=0,g=0;//计数器,用来记录当前单词是第几个单词;
for(int i=0;i<a;i++)//如果该字符为字母不管大小,则依次加在字符串s2中
{
if(s[i]>='a'&&s[i]<='z')
{
s2=s2+s[i];
}
else if(s[i]>='A'&&s[i]<='Z')
{
s2=s2+s[i];
}
else if(s[i]==' '||s[i]=='.')//如果为空格或小数点,则单词个数g加1
{
g++;
if(s2==s1)//开始判断这个单词是否等于我们要查找的那个单词
{
cout<<g;//如果是,则输出这个单词所以序列,并跳出这个程序
break;
}
s2.clear();//每次判断完一个单词后要将这个字符串s2里的内容全部清空,然后开始装第二个单词
}
}
if(s2!=s1)//如果遍历完没有找到这个单词,则使用循环计算出这个字符串的字母个数并输出
{
for(int i=0;i<a;i++)
{
if(s[i]>='a'&&s[i]<='z')
{
y++;
}
if(s[i]>='A'&&s[i]<='Z')
{
y++;
}
}
cout<<y;
}
return 0;
}