Java教程

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 | "我是第几个单词"(基础)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!