如何用c语言输入一个字符串,把里面连续的数字依次存放到一个数组中

来源:百度知道 编辑:UC知道 时间:2024/05/27 02:33:10
如输入一个字符串:sd348ghi 35qeaio843ud843
则将348放在a[0],35放在a[1],843放在a[2],843放在a[3],统计有多少个整数,并输出这些整数。

void main()
{
char a[80],*p=a;
int b[80]={0},i=0,j=0,x=0; //!!!!
printf("请输入一串字符\n");
gets(a);
for(p=a;(*p)!='\0';p++)
{
if(((*p)>='0')&&((*p)<='9')) //!!!!
{
if(x==0)
{
b[i]=(*p)-48;
i++;
}
else
b[i-1]=b[i-1]*10+(*p)-48;
x=1;
}
else
x=0;
}
for(j=0;b[j]!=0;j++) //!!!!
printf("%d ",b[j]);
printf("共有%d个",j);
printf("\n");

}

#include <stdio.h>
#include <stdlib.h>

void main()
{
char str[1024];
char *p;
int a[64];
int n = 0;
int i;

printf("please input: ");
gets(str);
for(p = str; *p != '\0'; p++)
{
if (*p >= '0' && *p <= '9')
{
a[n++] = atoi(p);
for(++p; *p >= '0' &&