其他分享
首页 > 其他分享> > 12 | "我是第几个单词"(基础)

12 | "我是第几个单词"(基础)

作者:互联网

题目描述

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

标签:输出,12,第几个,int,单词,句子,输入
来源: https://www.cnblogs.com/mmxingye/p/16372219.html