| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
help ~~帮忙看一下 为什么是WRONG ANSWER!(附代码)
#include <stdio.h>
#include <math.h>
long fe (int v[30], long s1);
main()
{
long n, i, j, n1, n2;
long s1, s2,temp;
long sum;
int v[30], u[30],w[30];
scanf("%ld", &n);
while (n>0)
{
n--;
scanf("%ld %ld", &s1, &s2);
if (s1<s2)
{
temp = s1;
s1 = s2;
s2 = temp;
}
n1 = fe(v, s1);
n2 = fe(u, s2);
temp = 0;
for (i = 0; i<=n1; i++)
{
w[i] = (u[i]+v[i]+temp)%10;
if (u[i]+v[i]+temp>=10)
{
temp = 1;
}
else
temp = 0;
}
i = n1;//去0;
while (w[i] ==0)
{
i--;
}
n1 = i;
i=0;
while (w[i] == 0)
{
i++;
}
for (; i<=n1; i++)
printf("%d", w[i]);//倒一次
printf("\n");
}
}
long fe (int v[30], long s1)
{
long i;
long n;
n = 1;
for (i=1; i<30; i++)
{
if ((long)pow(10,i)>s1)
{
n =i;
break;
}
}
for (i=n-1; i>=0; i--)
{
if (i>0)
{
v[n-1-i] = s1/(long)pow(10,i);//倒一次
s1 = s1%(long)pow(10,i);
}
if (i == 0 )
{
v[n-1-i] = s1;
}
}
for (i=n; i<30; i++)
{
v[i] = 0;
}
return n;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator