輸入一個字符串,內有數字和非數字字符,例如:a123x456 7689?89njnk32lnk123,
將其中連續的數字作為一個整數,依次存放到一維數組a中,例如123放在b[0],456放
在b[1]......統計共有多少個整數,並輸出這些數。弟1行輸出個數,第2行輸出多個整數
,用空格分隔。
#include<stdio.h>
#include<math.h>
void main()
{
int i,j=0,k=0,x=0,n,m,b[100];
char s[100],a[100];
scanf("%s",s);
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='0'&&s[i]<='9')
a[j++]=s[i];
else
{
j--;
for(n=0;j>=0;j--,n++)
x+=(a[j]-'0')*(int)pow(10,n);
b[k++]=x;
x=0; j=0;
}
}
printf("%d\n",k);
for(m=0;m<k;m++)
printf("%d ",b[m]);
printf("\n");
}
scanf是以空格或回車結束的,所以你的字符串 s 中只有 a123x456 。你可以用 gets(s) 是以回車結束,得到字符串