题目描述
输入一个英文句子,例如:“This is a Book.”,可以看到句子是以“.”来作为结束符号的,并且单词之间以一个空格来分隔。接着再输入一个单词A,请找出首次在句子中出现的与A相同的单词,是句子中的第几个单词,若不存在,则输出该句子中单词字符的总个数。 例如对上句子而言,若输入单词“is”,则应输出:2 若输入单词“isa”,则应输出:11
输入
第一行为以‘.’结束的一个词组(仅由若干个单词组成,单词间由一空格隔开,除单词和最后的“.”以外,不含其它字符)
第二行是一个单词(不含空格)
输出
一个整数
样例
输入
This is a Book.
Book
输出
4
#include <bits/stdc++.h>
using namespace std;
int main(){
/*
1.分解并输出每个单词(顺便统计一下每个单词是第几个单词
2.判断每个单词是否要找的单词,如果是,输入第几个
3.找不到就输出字符串字符总数
*/
char s[1000],w[100],f[100];
int i,k=0;//k表示w的下标
int c=0; //计数器,统计每个单词是第几个单词
int c2=0;//计数器,统计总共有多少个字符
bool x= false;//假设没有找到响应的单词
gets(s);
gets(f);
for(i=0;i<strlen(s);i++){
if(s[i]!=' '&&s[i]!='.'){
w[k]=s[i];
k++;
//判断连续的单词是否已经结束
if(s[i+1]==' '||s[i+1]=='.'){
w[k]='/0'; //⚠
c++;
c2=c2+strlen(w);
//判断是否是要找的单词f
if(strcmp(w,f)==0){
x=true;
cout<<c<<endl;
break;
}
//清空
k=0;
}
}
}
if(x==false){
cout<<c2<<endl;
}
}
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/267166.html