永发信息网

用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; }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯