输入一个字符串,这个字符串包含了数字和非数字字符。例如:

输入一个字符串,这个字符串包含了数字和非数字字符。例如:a123x456 17960? 302tab5876将其中连续的数字作为一个整数,依次存放到一个数组中,不妨将这个数组命名为a。对于以上的示例字符串,123存放在a[0]中,456放在a[1]中,余此类推。统计共有多少个整数,并依次输出这些整数。 输入格式 :只有一行,符合题目描述的一个字符串。输入保证没有整数包含前导0,加号(+)和减号(-)不表示整数的正负号。字符串的长度不超过500。 输出 :第一行输出共有多少个整数,第二行依次输出这些整数,在每个整数后输出一个空格。请注意行尾输出换行。
C语言,,

#include "stdio.h"
#include "string.h"
int main(int argv,char *argc[]){
char s[100];
int a[100],i,j,n,ln;
printf("Please enter an arbitrary string with Numbers:\n");
fgets(s,100,stdin);
for(ln=strlen(s),j=i=0;i<ln;i++)
if(s[i]>='0' && s[i]<='9'){
sscanf(s+i,"%d%n",a+j++,&n);
i+=n-1;
}
printf("\nIn your input string detected %d integers.\nThey are:",j);
for(i=0;i<j;printf("%d ",a[i++]));
printf("\n\n");
return 0;
}

运行举例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-01
可以用strtol函数吗?追问

没用过。。

追答

那就算了,造轮子的事吃力不讨好

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网