找到一个字符串中的整数并输出,该如何解决

找到一个字符串中的整数并输出
在vs,cfree上已经没有问题了,为什么oj总是wa?
【code】
#include<stdio.h>
#include<ctype.h>
#include<math.h>
#define MAXN 100
int main()

{
char buf[MAXN];
int a[MAXN];
int i,N,j,n,k,t,flag;
int sum;
while(scanf("%d",&N)!=EOF)
{
for(i=0;i<N;i++)
{
j=0;
getchar();
fgets(buf,MAXN,stdin);
while(buf[j]!='\n')
{
flag=0;
k=0;

while(buf[j]>='0'&&buf[j]<='9')
{ k++;
flag=1;
a[k]=buf[j];
j++;


}
if(flag)
{
double q=10;

sum=0;
for(t=1;t<=k;t++)
{ float m=pow(q,k-t);
sum=sum+(a[t]-'0')*m;
}

printf("%d ",sum);

if(!flag)
j++;  
}
printf("\n");
}
}
return 0;
}

【code】

坐等大神。。。


------解决方案--------------------
求问,oj是什么?