alglsf666 发表于 2024-3-8 23:49:40

谁能帮我看一道题,急!!!(C++)

本帖最后由 alglsf666 于 2024-3-9 22:29 编辑

'''
《简单系动词》
题目描述
面条老师 拿到了一篇没有标点符号,只包含小写英文字母英文文章。文章中所有单词之间都用恰好一个空格隔开。
学过了系动词的 面条老师 发现了这篇文章很多系动词都用错了。和现实世界不同,面条老师 学习的系动词规则如下:
am, are, is 三个单词都是系动词。
系动词必然跟在某个单词的后面。
如果跟在 i 后面,则应该使用 am。
如果跟在 you 后面,则应该使用 are。
如果跟在其他任何单词后面,则都应该使用 is。
请你帮他把文章中的系动词都改成正确的,然后输出吧。
输入格式
一行,即那篇文章。
输出格式
一行,即改完错误后的那篇文章
输入数据i is a boy you are a girl and it am a cat
输出数据i am a boy you are a girl and it is a cat
'''
AI回答那些用起来都不行,使用向大家求助。

alglsf666 发表于 2024-3-8 23:58:52

#include<iostream>
#include<string>
using namespace std;

int main(){
    string line;
    getline(cin, line);

    string word;
    string previous;

    for(char c : line) {
      if(c == ' ') {
            if(previous == "i" && word == "am")
                word = "am";
            else if(previous == "you" && word == "are")
                word = "are";
            else
                word = "is";
            cout << word << " ";
            word = "";
      } else {
            word += c;
      }
      previous = word;
    }

    if(previous == "i" && word == "am")
      word = "am";
    else if(previous == "you" && word == "are")
      word = "are";
    else
      word = "is";

    cout << word << endl;
    return 0;
}
这是Notion的回答,大家可以参考一下

alglsf666 发表于 2024-3-10 12:47:38

alglsf666 发表于 2024-3-8 23:58
#include
#include
using namespace std;


这个回答效果是错误的,不能通过。

alglsf666 发表于 2024-3-11 09:49:27

求求大家快点帮忙,题目再过4天到期了
页: [1]
查看完整版本: 谁能帮我看一道题,急!!!(C++)