找到一个字符串中的整数并输出,该如何解决
找到一个字符串中的整数并输出
在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是什么?
在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是什么?