问个问题拉:输入一个字符,内有数字和非数字字符,如a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中.统计共有多少个整数,并输出这些数.
谢谢大家拉,最好说详细点.
/* 问个问题拉:输入一个字符串,内有数字和非数字字符, */
/* 如a123x456 17960? 302tab5876 */
/* 将其中连续的数字作为一个整数,依次存放到一数组a中. */
/* 统计共有多少个整数,并输出这些数. */
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
#define N 30
int main(void)
{
char str[N];
int a[N] = {0}, i, j;
int num = 0, n = 0, sum = 0, len = 0, flag = 0, count = 0;
printf("Enter a string: ");
gets(str);
for (i = strlen(str) - 1; i >= -1; i--)
{
if (isdigit(str[i]))
{
num = (str[i] - '0') * (int)pow(10, n++);
sum += num;
flag = 1;
}
else
{
if (flag == 1 && sum >= 10)
{
a[len++] = sum;
n = 0;
sum = 0;
flag = 0;
}
else if (num < 10)
{
n = 0;
sum = 0;
flag = 0;
}
}
}
for (j = 0; j < len; j++)
{
count++;
printf("%d\n", a[j]);
}
printf("count = %d\n", count);
getch();
return 0;
}