【问题标题】:Can't Count Chars in a String无法计算字符串中的字符
【发布时间】:2012-11-29 01:04:09
【问题描述】:

它总是出现 0 和 0,我只是想计算用户给出的字符串中的 Gs 和 Cs(以及非 Gs 和 Cs)。我知道这是一个初学者的问题,对此感到抱歉:(

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

int main()
{

int x = 0
int y = 0

string s;

cout << "Enter a sequence" << endl;
cin >> s;

for (int i = 0; i > 100; i++)
    if (s[i] == 'g' || s[i] == 'c')
        x += 1;
    else
        y += 1;

cout << x << endl;
cout << y << endl;

}

【问题讨论】:

  • 有一个算法:std::count_if.
  • 请提供输入输出示例。
  • @chris 哈!这次不是:P
  • 抱歉这个愚蠢的错误。但现在它说的是 3 - 97,因为它也计算了空格。是否有可能只计算用户输入的内容?
  • @LuchianGrigore,嗯,我没有给出任何用法或任何东西,对于初学者来说,这可能不是最简单的解决方案。

标签: c++ string counter


【解决方案1】:

你知道

for (int i = 0; i > 100; i++)

永远不会跑,对吧?

你是说 - “让 i 成为 0... 只要 i &gt; 100(大声笑 - 从不)做某事”。

你可能是说

for (int i = 0; i < s.size(); i++)

或者你可以使用std::count_if

【讨论】:

  • i &lt; s,size()。现在,如果size() 是一个有效的免费函数,那将是一件很痛苦的事情。
【解决方案2】:

for (int i = 0; i > 100; i++)

因为 0 不大于 100,所以这个循环执行了 0 次。

【讨论】:

    【解决方案3】:

    在循环中,应该是i &lt; 100

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多