帮我看看吧,在code blocks上例题运行是对的,提交OJ时就说是错的,看了半天。
#include <stdio.h>
#include <math.h>
unsigned long long sum(int a,int b)
{
unsigned long long sum=0;
if(a+b>0)
{
if(a<0&&b>0)
sum=(fabs(a)+1+b)*(b-fabs(a))/2;
else
sum=(a+b)*(b-a+1)/2;
}
else if(a+b<0)
{
if(a<0&&b>0)
sum=(b+1+fabs(a))*(fabs(a)-b)/2;
else
sum=(fabs(b)+fabs(a))*(fabs(a)-fabs(b)+1)/2;
}
else
sum=0;
return sum;
}
int main()
{
int a,b,n;
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
scanf("%d %d",&a,&b);
if(a<0&&b>0&&a+b<0||a<0&&b<0)
printf("-%llu\n",sum(a,b));
else
printf("%llu\n",sum(a,b));
printf("\n");
}
return 0;
}