输入一个字符串,串内有数字和非数字字符。例如:

2024年11月23日 02:10
有2个网友回答
网友(1):

#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 printf("\n\n");
return 0;
}

运行举例:

网友(2):

#include
#include
void main()
{
char b[]="a123x456 17960?";
int a[20]={0},len=strlen(b),i,j=1,k=-1;
for(i=0;i<=len;i++)
printf("肢蚂亮%d: ",a[i]);
for (i=0;i<=len-1;i++)
{
if(b[i]<58 && b[i]>=48)
{
a[k]=a[k]*10+b[i]-48;}
else {k++;}
}
k=20;
for(i=0;i<20;i++)
if (a[i]==0) {for(j=i;j<20;j++)a[i]=a[i+1];k--;}
for(i=0;i printf("物局%d\n"历宽,a[i]);
}