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;
} 展开
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;
} 展开
1个回答
展开全部
#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;
}
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询