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++初阶算法 | 提取字符串中第一个连续数字的主要内容,如果未能解决你的问题,请参考以下文章