69,335
社区成员
发帖
与我相关
我的任务
分享
int main()
{
char s[]="123eras23da1dfa4fds556df3355dsf";
char *p=s;
char a[10]={0},b[10]={0};
while(1)
{
int r=sscanf(p,"%[1-9]%[a-z]",&a,&b);
cout<<a<<" "<<b<<endl;
p+=strlen(a)+strlen(b);
memset(a,0,10);
memset(b,0,10);
if(r==-1) break;
}
return 0;
}
#include <stdio.h>
#define N 50
int main()
{
char str[N];
int arr[N];
int i,n=0;
printf("Enter str:\n");
gets(str);
arr[0]=0;
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='0'&&str[i]<='9')
{
if(!arr[n]) arr[n]=str[i]-'0';
else arr[n]=arr[n]*10+str[i]-'0';
}
else
{
if(!arr[n]) continue;
else
{
n++;
arr[n]=0;
continue;
}
}
}
if(str[i-1]<'0'||str[i-1]>'9') n--;
for(i=0;i<=n;i++)
printf("%-6d",arr[i]);
getchar();
getchar();
return 0;
}
#include <stdio.h>
int main() {
char s[]="123eras0.23da1e10dfa-4e-2.0.1fds556df33-55dsf";
char *p;
int r,n;
double v;
p=s;
while (1) {
r=sscanf(p,"%lf%n",&v,&n);
if (1==r) {
printf("%lg ",v);
p+=n;
} else if (0==r) {
p++;
} else break;
}
return 0;
}
//123 0.23 1e+010 -0.04 0 0.1 556 33 -55
#include <stdio.h>
int main() {
char s[]="123eras23da1dfa4fds556df3355dsf";
char *p;
int r,v,n;
p=s;
while (1) {
r=sscanf(p,"%d%n",&v,&n);
if (1==r) {
printf("%d ",v);
p+=n;
} else if (0==r) {
p++;
} else break;
}
return 0;
}
//123 23 1 4 556 3355
char **filterDigits( const char *str ) {
char *const s = strdup( str );
char **a, **t;
char *p, *q, *r;
int n;
for ( n=1, p=q=r=s; *p; p++ )
if ( isdigit( *p ) )
*q++ = *p;
else if ( q != r )
*q++ = ',', r = q, n++;
*q++ = '\0';
a = (char **) calloc( n, sizeof(char *) );
for ( t=a, p=s; r=strtok_r( p, ",", &q ); p=NULL )
*t++ = r;
*t = NULL;
return a;
}
#include<stdio.h>
int fun(char *src,int *des)
{
int i=0;
while(*src!='\0')
{
while(*src>47&&*src<58) /* 将连续的数字相加存入一个数组元素 */
{
des[i]*=10;
des[i]+=(*src-48);
src++;
}
if(des[i]!=0||*(src-1)=='0') /* 0也要存入,存完自增 */
i++;
src++;
}
return i;
}
void main()
{
int des[50]={0}; /* 初始化 */
int i,k;
k=fun("123eras23da1dfa4fds556df3355dsf",des);
for(i=0;i<k;i++)
printf("%d ",des[i]);
printf("\n");
}
#include <iostream>
#include <cstdio>
using namespace std;
void getNum(const char *str)
{
int result=0;
while(*str++!=0)
{
if('0'<=*str && *str<='9')
{
result=result*10+*str-'0';
}
else
{
if(result!=0)
{
cout<<result<<endl;
result=0;
}
}
}
}
int main()
{
char buf[100];
fgets(buf,100,stdin);
getNum(buf);
return 0;
}