c++将字符串中的数字提取出来变为数字

#include<iostream>usingnamespacestd;charatofloat(charx){doublea;if(x>=48&&x<=57){a=x-... #include<iostream>
using namespace std;
char atofloat(char x)
{
double a;
if(x>=48&&x<=57)
{
a=x-'0';

}
else
a='\0 ';
return(a);
}
int main()
{
char c;
double d;
cout<<"输入字符串";
cin>>c;
d=atofloat(c);
cout<<"数字为"<<d;
return 0;
}
展开
 我来答
百度网友58916d3
2017-12-04 · TA获得超过2410个赞
知道小有建树答主
回答量:5438
采纳率:7%
帮助的人:543万
展开全部
#include <iostream.h>
int main()
{
char a[50]="1ab2cd3ef45g";
char b[50];
int cnt_index=0,cnt_int=0;
//cnt_int 用于存放字符串中的数字.
//cnt_index 作为字符串b的下标.

for(int i=0;a[i]!='\0';++i) //当a数组元素不为结束符时.遍历字符串a.
{
if(a[i]>='0'&& a[i]<='9') //如果是数字.
{
cnt_int*=10;
cnt_int+=a[i]-'0'; //数字字符的ascii-字符'0'的ascii码就等于该数字.
}

else if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) //如果是字母.
{
b[cnt_index++]=a[i]; //如果是字符,则增加到b数组中.
}
}

b[cnt_index++]='\0'; //增加字符串结束符.

cout<<b<<endl; //输出字符串. (abcdefg)
cout<<cnt_int<<endl; //输出数字.(12345)
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式