/*输入一个字符串,串内有数字和非数字字符,如:
abc2345 345rrf678 jfkld945
将其中连续的数字作为一个整数,一次存放到另一个整型数组b中。如对于以上的输入,讲2345存放到b[0],345放入b[1],····
统计出字符串中的整数个数,并输出这些整数。要求在主函数中完成输入和输出,设计一个函数,把指向字符串的指针和指向整数的指针作为函数形参。
void zzy(char*p,int *q)
{
int temp1=0;
for(int i=0;i<strlen(p);i++)
{
if(p[i]<='9'&&p[i]>='0')
{
temp1=p[i]-'0';
for(int k=i+1;k<strlen(p);k++)
{
if(p[k]<='9'&&p[k]>='0')
{
temp1=10*temp1+(p[k]-'0');
i++;
}
else
{
break;
}
}
q[temp2++]=temp1;
}
temp1=0;
}
}
void main()
{
// char a[]="abc2345 345rrf678 jfkld945";
int b[100];
char a[100];
cin.getline(a,100);
zzy(a,b);
for(int j=0;j<temp2;j++)
cout<<"b["<<j<<"]"<<b[j]<<endl;
}
abc2345 345rrf678 jfkld945
将其中连续的数字作为一个整数,一次存放到另一个整型数组b中。如对于以上的输入,讲2345存放到b[0],345放入b[1],····
统计出字符串中的整数个数,并输出这些整数。要求在主函数中完成输入和输出,设计一个函数,把指向字符串的指针和指向整数的指针作为函数形参。
*/
#include <iostream>
using namespace std;
void zzy(char*p,int *q)
{
int temp1=0;
for(int i=0;i<strlen(p);i++)
{
if(p[i]<='9'&&p[i]>='0')
{
temp1=p[i]-'0';
for(int k=i+1;k<strlen(p);k++)
{
if(p[k]<='9'&&p[k]>='0')
{
temp1=10*temp1+(p[k]-'0');
i++;
}
else
{
break;
}
}
q[temp2++]=temp1;
}
temp1=0;
}
}
void main()
{
// char a[]="abc2345 345rrf678 jfkld945";
int b[100];
char a[100];
cin.getline(a,100);
zzy(a,b);
for(int j=0;j<temp2;j++)
cout<<"b["<<j<<"]"<<b[j]<<endl;
}