题目描述
输入一个英文句子,例如:“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; } }