【发布时间】:2018-06-29 19:14:59
【问题描述】:
我想我在某个地方犯了一个错误,但我似乎找不到它。我认为问题在于以错误的顺序添加或输入数据。对于任何错误,我深表歉意,英语不是我的主要语言。 enter image description here
#include <iostream>
using namespace std;
int main()
{
int d, n, m, carry;
int a[10000];
int b[10000];
int addition[10001];
cin>>d;
for(int i=0; i<d; i++)
{
int a[10000]={0};
int b[10000]={0};
int addition[10001]={0};
cin>>n;
for(int i=n; i>=1; i--)
{
cin>>a[i];
}
cin>>m;
for (int i=m; i>=1; i--)
{
cin>>b[i];
}
if(n<m)
{
n=m;
}
carry=0;
for (int i=1; i<=n; i++)
{
addition[i]=(a[i]+b[i]+carry)%2; //way my teacher
carry=(a[i]+b[i]+carry)/2;
}
addition[n+1]=carry;
// if(addition[n+1]==0)n--;
for(int i=n; i>=0; i--)
{
cout<<addition[i];
}
}
return 0;
}
【问题讨论】:
-
请修正标题中错误的语言名称和问题文本中的拼写错误。
-
效果不佳.. 究竟是什么问题?错误?输出不正确??
-
输出不正确
-
int a[10000]={0};没有初始化之前声明的数组。 -
仅通过查看代码,我可以发现至少两个可能的逻辑错误(除了风格错误),但我不知道它们是否是您正在谈论的问题,所以请解释一下你所说的错误输出是什么意思。