问题:输入一个字符串,内有数字和非数字字符,如a123x456-17960?302tab5876
将其中连续的数字作为一个整数,依次存入到b数组中,例如,123放到把b[0],456放到b[1]等等,统计共有多少个整数,并输出这些数。
答:
#include<iostream>
using namespace std;
#define N 100
int main()
{
char a[N]={'\0'};
float b[50]={0};
int i,x=0,y=0;
gets(a);
a[N-1]='\0';//防止超出字符个数
for(i=0,y=0;a[i]!='\0';i++)
{
if(a[i]>='0'&&a[i]<='9')
{
b[y]=b[y]*10+(a[i]-48);
x=1;
}else if(x==1&&a[i+1]!='\0')
{
y++;
x=0;
}
}
cout<<"共有"<<y+1<<"个整数,分别是"<<'\n';
for(i=0;i<=y;i++)
{
cout<<b[i]<<" ";
}
}
运行结果:
a123x456-17960?302tab5876
共有5个整数,分别是
123 456 17960 302 5876
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有