mmxingye

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

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;
}
}

posted on   独立树  阅读(743)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示