【问题描述】
输入带有数字的一串字符,分离出其中的数字并按其顺序组合成一个整数输出。比如输入“A32jd4#1fZ9”,输出的整数为3249。要求:自定义函数value()将符串中的数字转换成整数,函数原型为:int value(char *s);
【输入形式】
一串含数字的字符,以回车结束。
【输出形式】
数据
【样例输入】
A32jd4#1fZ9
【样例输出】
3249
首先需要创建一个自定义函数value(),该函数接收一个字符指针作为参数,遍历字符串中的每个字符,如果字符是数字,则将其添加到结果整数中。最后返回结果整数。
#include <iostream>
using namespace std;
int value(char *s) {
int result = 0;
for (int i = 0; s[i] != '\0'; i++) {
if (s[i] >= '0' && s[i] <= '9') {
result = result * 10 + (s[i] - '0');
}
}
return result;
}
int main() {
char input[100];
cin.getline(input, 100);
cout << value(input) << endl;
return 0;
}