用c++编写一个程序
答案:3 悬赏:30 手机版
解决时间 2021-04-24 21:42
- 提问者网友:两耳就是菩提
- 2021-04-23 20:46
要求输入如“sfasdf123”字符串类型,输出转化为123 int型的
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-04-23 21:27
当输入abc123def456时. 输出123<回车>456<回车>;
代码如下:
#include <stdio.h>
int main()
{
char in[20],c;
int bit=0,out=0;
while(c=getchar(),c!='\n'){
if(c>='0'&&c<='9')
{
if(bit){
out*=10;
out+=c-'0';
}
else
{
bit=1;
out+=c-'0';
}
}
else{
if(bit)
{
printf("%d\n",out);
bit=0;
out=0;
}
}
}
if(bit)
printf("%d\n",out);
return 0;
}
附图:
全部回答
- 1楼网友:往事埋风中
- 2021-04-23 23:54
#include <iostream>
#include <string>
#include <vector>
#include <boost/regex.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/lambda/lambda.hpp>
using namespace std;
using namespace boost;
int main()
{
regex r( "\\d+" );
string s = "asfsdf123sadgsd333";
boost::sregex_iterator it( s.begin(), s.end(), r ), end;
vector<int> v;
while ( it != end ) {
v.push_back( lexical_cast<int>( *it++ ) );
}
for_each( v.begin(), v.end(), cout << lambda::_1 << ' ' );
cin.get();
}
- 2楼网友:大漠
- 2021-04-23 22:46
#include <stdio.h> #include <stdlib.h>
void GetNum(char* s, char* d) { while (*s < '0' || *s > '9') s++; while (*s >= '0' && *s <= '9') *d++ = *s++; *d = 0; } int main() { char s[] = "sfasdf123"; char num[100];
GetNum(s, num); printf("%d\n", atoi(num)); return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯