编写函数,实现提取字符串中数字,并转换为正数返回。字符串从主函数读取,通过字符数组作为参数,调用函数,然后在主函数中,输出提取的整数
基本思路 与ascii码进行判断后输出
48~58
影像中好像可以通过正则表达式取出数字
#include<bits/stdc++.h>
using namespace std;
int aa(string s)
{
int ans=0,siz=s.size();//ans存统计的数字
for(int i=0;i<siz;i++)
{
if(s[i]>='0'&&s[i]<='9')//当前这个字符是数字
{
ans*=10;//空出个位
ans+=s[i]-'0';//将当前这一个数字存入个位
}
}
return ans;//返回
}
string s;
int main()
{
cin>>s;
cout<<aa(s);
return 0;
}
供参考:
#include <stdio.h>
#include <ctype.h>
int char2num(char* s)
{
int num = 0, i;
for (i = 0; s[i]; i++)
if (isdigit(s[i]))
num = num * 10 + s[i] - '0';
return num;
}
int main()
{
int num = 0;
char str[64] = { 0 };
scanf("%s", str);
num = char2num(str);
printf("%d", num);
return 0;
}