문자열 의 연속 적 인 숫자 통계
1582 단어 데이터 구조
{
char str[50];
char *pstr = str;
int i = 0,j = 0;
int digit, k, m, e10;
int num[20], n_num = 0; //n_num
int *pa = num;
int *pnum = num;
gets(str);
while((*(pstr+i)) != '\0')
{
if((*(pstr+i)) >= '0' && (*(pstr+i))<='9') //
{
j++; // if - else
}
else
{
if(j > 0) //
{
digit = *(pstr+i-1) - '0'; // if ,i , *(pstr+i-1)
k = 1; //
while(k < j) // digit
{
e10 = 1;
for(m = 1; m <= k; m++)
e10 = e10 * 10;
digit = digit + (*(pstr+i-1-k) - '0')*e10;
k++;
}
*pnum = digit;
n_num++;
pnum++;
j = 0;
}
}
i++;
}
if(j > 0) //
{
digit = *(pstr+i-1) - '0'; // digit
k = 1;
while(k < j)
{
e10 = 1;
for(m = 1; m <= k; m++)
e10 = e10*10;
digit = digit + (*(pstr + i - 1 -k) - '0') * e10; //
k++;
}
*pnum = digit;
n_num++;
pnum++;
j = 0;
}
//
for(j = 0; j < n_num; j++)
printf("%d ", *(pa + j));
}