今天做了一个感觉不是很好的题
1.题目描述
输入一个字符串,内有数字和非数字字符,如:a123x456 17960?302tab5876将其中连续的数字作为一个整数,依次存放到数组a中。例如,123放在a[0]中,456放在a[1]中等等,统计共有多少个正数,并输出这些数。要求:
(1)在主函数中输入字符串,输出结果。调用子程序处理字符串。
(2)子函数的返回值为-1表示为找到,否则返回子串的位置。
2.代码实现
#include<stdio.h>
int main()
{
int i,num=0;
char x[100];
int a[100]= {0};
gets(x);
while(i<strlen(x))
{
if(x[i]>='0' && x[i]<='9')
{
while(x[i]>='0' && x[i]<='9')
{
a[num]=a[num]*10+(x[i]-'0');
i++;
}
num++;
}
i++;
}
printf("个数为:%d\n",num);
for(i=0; i<num; i++)printf("%d ",a[i]);
return 0;
}