Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ SPOJ错误答案ADDREV_C++_Debugging - Fatal编程技术网

C++ SPOJ错误答案ADDREV

C++ SPOJ错误答案ADDREV,c++,debugging,C++,Debugging,我的代码非常简单明了。但我在提交时得到了错误的答案。我不知道为什么会这样!这是代码 #include<iostream> #include<string> using namespace std; void sum(string num) { int i,len=num.length(); int j=len-1; int carry=0; string answer; int s=0; for(i=0,j;i<len;i++,j--)

我的代码非常简单明了。但我在提交时得到了错误的答案。我不知道为什么会这样!这是代码

#include<iostream>
#include<string>
using namespace std;

void sum(string num)
{
  int i,len=num.length();
  int j=len-1;
  int carry=0;
  string answer;
  int s=0;
  for(i=0,j;i<len;i++,j--)
  {
    s = (num[i]-'0')+(num[j]-'0')+carry;
if (s>10&&j!=0)
{ 
      carry = s/10;
  s = s%10; 
    } 
else if (s>10&&j==0)
{ 
      carry=s/10; s=s%10; answer+=s+'0';answer+=carry+'0'; break;
    }   
answer+=s+'0';
  }
  int sz=answer.size();for(int j=sz-1;j>=0;j--) cout<<answer[j];
  }

  int main(int argc,char **argv)
  {
    int n;cin>>n;
    for(int i=0;i<n;i++)
  {
  string no;cin>>no;
  sum(no);cout<<endl;
  }
}

我没有分析您的代码,但这里有一些关于SPOJ的提示:

重新仔细阅读描述,看看你是否遗漏了什么。 检查边缘情况,看看您的输出是否有意义。 注意空格。检查输出的末尾是否有多余的换行符/空格。
此代码被接受

重新格式化代码,无法读取。失败消息是什么?考虑到冗长、错误的答案等,一些关于代码应该做什么的提示也很好。无论此代码做什么,似乎都与ADDREV挑战的要求不符。首先,请确保您的代码为示例输入提供了正确的答案,即使有时示例输入不包括特殊情况,在这种情况下,您必须更仔细地研究问题描述。
#include<stdio.h>
#include<math.h>
int reverse(long long int n);
int main()
{
        int t;
        scanf("%d",&t);
        while(t--)
        {
                long long int m,n;
                scanf("%lld %lld",&m,&n);
                m = reverse(m) + reverse(n);
                n = reverse(m);
                printf("%lld\n",n);
        }
        return 0;
}
int reverse(long long int n)
{
        long long int i=0,y=0,x=n;
        while(x)
        {
                y++;
                x = x/10;
        }
        while(y)
        {
                i = i + (n%10)*pow(10,y-1);
                n = n/10;
                y--;
        }
        return i;
}