1.代码
输入一行字符串,将其中连续的数字作为一个整数,一次存放在一数组a中
例如:A123x456 17960? 302tab5876
123放在a[0],456放在a[1]…,统计有多少个整数,并输出这些数
#include<stdio.h>
#define N 100
#define M 20
int cnt=0;
int main()
{
void count(char s[],int a[]);
char s[N];
int a[M]={0},i;
gets(s);
count(s,a);
printf("\n整数的个数是%d\n",cnt);
for(i=0;i<cnt;i++)
printf("%d ",a[i]);
return 0;
}
void count(char s[],int a[])
{
int i,j,k,flag,sum;
flag=0,j=-1;
char b[M][N];
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='0'&&s[i]<='9')
{
if(flag==0)
{
j++;
k=0;
cnt++;
}
else k++;
b[j][k]=s[i];
flag=1;
}
else
{
if(flag==1)
b[j][++k]='\0';
flag=0;
}
}
for(i=0;i<cnt;i++)
{
printf("%s",b[i]);
printf("\n");
}
for(i=0;i<cnt;i++)
{
sum=0;
for(j=0;b[i][j]!='\0';j++)
sum=sum*10+b[i][j]-'0';
a[i]=sum;
}
}
2.运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200402114639877.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NzE0NTAw,size_16,color_FFFFFF,t_70)