随便吧哦咯可 2022-05-14 00:01 采纳率: 66.7%
浏览 75

C++ 给定一个整数n和n行字符串,如果能在里面找到特定的字符串,就输出

img


我已经不想描述它了,想不出来,难受╯﹏╰
感觉字符数组和指针这一块好难

  • 写回答

1条回答 默认 最新

  • Ltd Pikashu CSDN实力新星 2022-05-14 11:38
    关注
    1. 使用 getline()函数来读取终端输入的字符串 --> cin本身遇到空格就会结束,所以不能使用
    2. getline()函数碰到换行符 Enter 就会终止读取,所以在执行 cin >> n; 时,键入的换行符也会被它读取,这就导致第一次执行 getline(cin, tmp); 时读取了一个空字符串
    3. 为了解决第二点的问题,在输入了n之后,加一行 cin.ignore() 来忽略输入流里不需要的 Enter
    
    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    int main()
    {
        int n;
        string s = "";
        cin >> n;
        cin.ignore();
        for (int i = 0; i < n; i++)
        {
            string tmp;
            getline(cin, tmp);
            s += tmp;
            s += " ";
        }
    
        if (s.find("I") != string::npos
            && s.find("LOVE") != string::npos
            && s.find("CUMT") != string::npos)
        {
            cout << "YES" << endl;
        }
        else
        {
            cout << "NO" << endl;
        }
    return 0;
    }
    

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月14日

悬赏问题

  • ¥15 github上的这个C语言项目如何跑起来
  • ¥15 java 判断某个数 区间是否存在
  • ¥15 appium控制多个雷电模拟器问题
  • ¥15 C# iMobileDevice
  • ¥15 谁会做这个啊#ensp#Boson NetSim
  • ¥15 如何编写针对TPS6503320FRGE型号的电源管理芯片的编程代码?
  • ¥15 设计简单目录管理系统,要满足以下内容
  • ¥15 关于九十度混合耦合器信号分析问题
  • ¥15 Cesm如何关闭不用的模块呢
  • ¥15 vue2两层数据导出为excle