搜索一个号码

时间:2016-10-02 05:28:38

标签: c

如何在变量中搜索数字?

例如:

  • 输入A:12131415
    输入搜索:1
    输出:1 = 4
  • 输入A:12131415
    输入搜索:12
    输出:12 = 1

请帮助我。谢谢。

1 个答案:

答案 0 :(得分:0)

我不会为您提供完整的解决方案,但这是您可以使用的基本想法。

您可以将数字转换为字符串,然后计算在另一个字符串中找到一个字符串的次数。

以下是您可以使用的一些基本功能。这应该可以帮到你。

int A = 12131415;
int B = 1;
int count = 0;

char strA[20];
char strb[20];

sprintf(strA, "%d", A);
sprintf(strB, "%d", B);
int lenB = strlen(strB);

char* m;
char* t = A;
m = strstr(t, strB);
if (m != NULL)
{
    // Found a match
    ++count;
}
else
{
    // No more matches
    return;
}

// Move pointer
t = m + lenB;

// Now look for next match
m = strstr(t, strB);

//.... and so on....

您的任务是在循环中组织上述代码,以便您可以浏览整个字符串A