C/C++初阶算法 | 提取字符串中第一个连续数字

Posted Neutionwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++初阶算法 | 提取字符串中第一个连续数字相关的知识,希望对你有一定的参考价值。

  • 请编写一个fun函数,实现如下功能:将一个字符串第一个连续数字转换成整数,作为函数值返回,否则返回0(程序的输入输出要有提示)比如:字符串的内容为:“abc123 def45gh”,则函数的返回值为123。

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

int fun(string str);

int main()
{
	string str = "abc123 def45gh";
	count << fun(str);
	return 0;
}

int fun(string str)
{
	int index = -1;
	int score = 0;

	for (int i = 0; i < str.length(); i++) {
		if ((str[i] >= 48 && str[i] <= 57) && \\
			(i + 1 < str.length()) && \\
			(str[i+1] >= 48 && str[i+1] <= 57)) {
			index = 1;
			break;
		}
	}
	if (index == -1)
		return score;
	score = str[index] - '0';
	for (int i = index + 1; i < str.length(); i++) {
		if (str[i] >= 48 && str[i] <= 57) {
			score *= 10;
			score += str[i] - '0';
		} else {
			break;
		}
	}

	return score;
}

以上是关于C/C++初阶算法 | 提取字符串中第一个连续数字的主要内容,如果未能解决你的问题,请参考以下文章

C/C++初阶算法 | 找出小于平均值的数

c++ 怎样提取一个字符串中的连续数字并放到另一个数组中保存? 急!

LeetCode刷题简单-1796-字符串中第二大的数字

LeetCode刷题简单-1796-字符串中第二大的数字

LeetCode刷题简单-1796-字符串中第二大的数字

Python|字符串中第二大的数字