ycyj060910 2023-02-11 17:56 采纳率: 0%
浏览 930
已结题

我是第几个单词c++。

1012: 【基础】我是第几个单词
内存限制:16 MB 时间限制:1.000 S
评测方式:文本比较 命题人:外部导入
提交:98 解决:32
题目描述
输入一个英文句子,例如:“This is a Book.",可以看到句子是以“.”来作为结束符号的,并且单词之间以一个空格来分隔。接着再输入一个单词A,请找出首次在句子中出现的与A相同的单词,是句子中的第几个单词,若不存在,则输出该句子中单词字符的总个数。 例如对上句子而言,若输入单词“is”,则应输出:2 若输入单词“isa”,则应输出:11
输入
第一行为以‘.’结束的一个词组(仅由若干个单词组成,单词间由一空格隔开,除单词和最后的“.”以外,不含其它字符)

第二行是一个单词(不含空格)

输出
一个整数
样例输入 复制
This is a Book.
Book
样例输出 复制
4
求解!!

  • 写回答

2条回答 默认 最新

  • 梦想橡皮擦 优质创作者: python技术领域 2023-02-11 18:11
    关注

    方案来自 梦想橡皮擦 狂飙组基于 GPT 编写的 “程秘”

    
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    string s;
    cin>>s;
    string a;
    cin>>a;
    int sum=0;
    int k=0;
    for(int i=0;i<s.size();i++)
    {
    if(s[i]==' ')
    {
    k++;
    continue;
    }
    if(s[i]=='.')
    {
    sum=k+1;
    break;
    }
    }
    int l=0;
    for(int i=0;i<s.size();i++)
    {
    if(s[i]==' ')
    {
    l++;
    continue;
    }
    if(s[i]=='.')
    {
    break;
    }
    string b;
    int j=i;
    while(s[j]!=' '&&s[j]!='.')
    {
    b+=s[j];
    j++;
    }
    if(b==a)
    {
    cout<<l+1<<endl;
    return 0;
    }
    }
    cout<<sum<<endl;
    return 0;
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月18日
  • 创建了问题 2月11日