欢迎光临
我们一直在努力

【查找指定字符串首位置与数量不区分大小写完整匹配】2025-5-3

缘由2019北京海淀(小学)选拔 义卖(sale)_编程语言-CSDN问答

不调用系统函数,自己写实现;不开数组,直接输入字符串;判断处理大小写、空格、结尾,主循环O(N),完全匹配查找字符串数量,若用数组存储位置下标,可迅速定位。 实现方法:第一字符匹配后,启动完全匹配配对循环,到结束或空格的处理;若第一字符不匹配则主循环到空格布尔状态切换或结束止。

void 查找指定字符串首位置与数量不区分大小写完整匹配()
{
std::string a = "to be or not to be is a question Ottoman TO TOTO to", c = "To";
//std::cin >> c >> a;
int n = 0, d = 0, x = 0, j = 0, s = 0;
bool k = 1;
js:if (a[x] != '\\0')
{
if (k && (a[x + j] == c[j] || abs(a[x + j] – c[j])==32))
{
if (c[j] != '\\0')
++j;
else if (a[x + j] == ' ' || a[x + j] == '\\0')
{

if (++d == 1)
s = x;
x += j, j = 0;
if (a[x + j] == ' ')++x;
}
else
;
}
else
{
j = k = 0;
++x;
if (a[x] == ' ')
k = 1, ++x;
}
goto js;
}
if(d)std::cout << d << " " << s << "\\n";
else std::cout << "-1\\n";
}

 

赞(0)
未经允许不得转载:171主机测评 » 【查找指定字符串首位置与数量不区分大小写完整匹配】2025-5-3
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址