如何检查字符串是否以';教育署';在C++;; 如何编写一个程序,从用户输入读取5个字符串,并只打印那些用C++中的“ED”结尾的字符串。需要帮助

如何检查字符串是否以';教育署';在C++;; 如何编写一个程序,从用户输入读取5个字符串,并只打印那些用C++中的“ED”结尾的字符串。需要帮助,c++,C++,解决方案相当简单 首先,我们定义一个可以包含5std::string的容器。为此,我们使用std::vector和构造函数为5个元素保留空间 然后我们将5个字符串从控制台(来自用户输入)复制到向量中 最后,如果字符串以“ed”结尾,我们将元素从std::vector复制到std::cout 由于程序简单,我无法解释更多 请看 #include <iostream> #include <algorithm> #include <vector> #include

解决方案相当简单

首先,我们定义一个可以包含5
std::string
的容器。为此,我们使用
std::vector
和构造函数为5个元素保留空间

然后我们将5个字符串从控制台(来自用户输入)复制到向量中

最后,如果字符串以“ed”结尾,我们将元素从
std::vector
复制到
std::cout

由于程序简单,我无法解释更多

请看

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <iterator>

constexpr size_t NumberOfTexts = 5U;

int main()
{
    // Define a container that can hold 5 strings
    std::vector<std::string> text(NumberOfTexts);

    // Read 5 strings from user
    std::copy_n(std::istream_iterator<std::string>(std::cin), NumberOfTexts, text.begin());

    // Print the strings with ending "ed" to display
    std::copy_if(text.begin(), text.end(), std::ostream_iterator<std::string>(std::cout,"\n"), [](const std::string& s){
        return s.size()>=2 && s.substr(s.size()-2) == "ed";
    });

    return 0;
}
#包括
#包括
#包括
#包括
#包括
constexpr size\u t NumberOfTexts=5U;
int main()
{
//定义一个可以容纳5个字符串的容器
标准::矢量文本(NumberOfText);
//从用户处读取5个字符串
std::copy_n(std::istream_迭代器(std::cin),NumberOfTexts,text.begin());
//打印以“ed”结尾的字符串以显示
std::copy_if(text.begin()、text.end()、std::ostream_迭代器(std::cout,“\n”)、[](const std::string&s){
返回s.size()>=2&&s.substr(s.size()-2)==ed;
});
返回0;
}
简单解决方案

#include<iostream>
using namespace std;

bool endsWith(const std::string &mainStr, const std::string &toMatch)
{
    if(mainStr.size() >= toMatch.size() &&
            mainStr.compare(mainStr.size() - toMatch.size(), toMatch.size(), toMatch) == 0)
            return true;
        else
            return false;
}
int main()
{
   string s[5];
   for(int i=0;i<5;i++)
   {
      cin>>s[i];
   }
   for(int i=0;i<5;i++)
   {
      if(endsWith(s[i],"ed"))
         cout<<s[i]<<endl;
   }

}
#包括
使用名称空间std;
bool endsWith(常量标准::字符串和主字符串,常量标准::字符串和主匹配)
{
如果(mainStr.size()>=toMatch.size())&&
mainStr.compare(mainStr.size()-toMatch.size(),toMatch.size(),toMatch)==0)
返回true;
其他的
返回false;
}
int main()
{
字符串s[5];
对于(int i=0;i>s[i];
}

对于(int i=0;我将谈到堆栈溢出。请花时间浏览并参考中的材料,了解您可以在此处询问什么以及如何提问。发布一篇文章特别重要。您听说过子字符串搜索吗?算法的优雅使用。