高分请教一个c++的程序,基础的,大家都来看看啊,在线等,很重要

来源:百度知道 编辑:UC知道 时间:2024/05/09 20:19:08
题目原文:
输入一个字符串,内有数字和非数字字符(如a123x4561bcd79630?tab4596).
输出子字符串,将其中连续的数字作为一个整数,依次存放到一维数组a中(例如,上面中123放在a[0],456放在a[1]),统计共有多少个整数,并输出这些数

希望大家可以帮我编一下,只有一个小要求,就是要完整的程序
如果确实成功,我加分!!

#include <iostream.h>
int main()
{
char c[]="a123x4561bcd79630?tab4596";
unsigned int a[20];
int n=0;//length of the array
int num=0;//to get the numer
char *p,*q;
for (p=c;*p!='\0';)
{
if ((*p>='0')&&(*p<='9'))
{
for (q=p;(*q>='0')&&(*q<='9');q++)
{
num=10*num+*q-'0';
}
a[n++]=num;
p=q;
}
else
{
num=0;
p++;
}
}
for(int i=0;i<n;i++)
cout<<a[i]<<' ';
cout<<endl;
return 0;
}
上面的输入过程可以改下由自己输入:
char c[50];
cin.getline(c,50);