程序1:
#include <iostream>
#include <string>
using namespace std;
int main()
{
char *ch=new char[];//定义一个动态char数组
int *num=new int[];//定义一个动态int数组
cout<<"请输入一串字符:"<<endl;
cin>>ch;//输入字符串
cout<<"这串字符串里数字有:"<<endl;
int a=0;
for(int i=0;i<strlen(ch);i++)
{
if(ch[i]>='0'&&ch[i]<='9')
{
num[a]=(int)ch[i]-48;//保存
cout<<num[a]<<"";//输出
a++;
}
}
cout<<endl;
return 0;
}
程序2:
#include<iostream>
using namespace std;
int main()
{
char str[]="l34lab454ii876ui43";//自己定义的一个,也可以设置从键盘输入一个
char *p=str;
int i=0;//计算数字字符的个数
int j=0;//控制循环输出和赋值
while(*p)
{
if(*p>='0'&&*p<='9')
{
i++;
}
p++;
}
p=str;//刚才p跑到尾部了,重新指向str
int *pArray=new int[i];//开辟一个有i个元素的整型数组,来存放数字字符
while(*p)
{
if(*p>='0'&&*p<='9')
{
*(pArray+j)=*p-'0';//将数字字符减去'0'就是整数,赋值给刚才开辟的数组
j++;
}
p++;
}
//输出
for(j=0;j<i;j++)
{
cout<<*(pArray+j)<<" ";
}
cout<<endl;
return 0;
}