早教吧 育儿知识 作业答案 考试题库 百科 知识分享

下面这个程序是一个大数相加的程序,我在本机上运行完全正常,也考虑了很多特殊情况,为什么我一提交到AC上面就报结果错误呢?#include#includeusingnamespacestd;constintnumlen=1000;structbN{charnum1[nu

题目详情
下面这个程序是一个大数相加的程序,我在本机上运行完全正常,也考虑了很多特殊情况,为什么我一提交到AC上面就报结果错误呢?
#include
#include
using namespace std;
const int numlen=1000;
struct bN
{
char num1[numlen];
char num2[numlen];
char result[numlen];
};
struct bN bigNum[20]={0};
void main()
{
int T=0,n1_len=0,n2_len=0,loop_len=0;
int carry=0;
char num_a[numlen]={0},num_b[numlen]={0};
char cr[numlen]={0};
cin>>T;
if(T20) exit(0);
for(int i=0;i>bigNum[i].num1>>bigNum[i].num2;
for(int j=0;j n2_len n1_len :n2_len;
for(int k=0 ; k < loop_len ; k++)
{
if(loop_len==n1_len && k>=n2_len)
{
bigNum[j].result[k] = (int)num_a[k] + carry;
}
else if(loop_len==n2_len && k>=n1_len)
{
bigNum[j].result[k] = (int)num_b[k] + carry;
}
else
{
bigNum[j].result[k] = (int)num_a[k] + (int)num_b[k] + carry - '0';
}
if(bigNum[j].result[k] > '9')
{
carry = (bigNum[j].result[k]-'0')/10;
bigNum[j].result[k] -= 10;
if(k==loop_len-1 && carry!=0)
{
bigNum[j].result[k+1]=carry+'0';
carry=0;
}
}
else
{
carry=0;
}
}
memset(num_a,0,sizeof(num_a));
memset(num_b,0,sizeof(num_b));
}
for(int p=0 ; p
▼优质解答
答案和解析
#include "iostream.h"
#include "string.h"
#include "process.h"
//using namespace std;
const int numlen=1000;
struct bN
{
char num1[numlen];
char num2[numlen];
char result[numlen];
};
struct bN bigNum[20]={0};
void main()
{
int T=0,n1_len=0,n2_len=0,loop_len=0;
int carry=0;
char num_a[numlen]={0},num_b[numlen]={0};
char cr[numlen]={0};
cin>>T;
if(T20) system("exit(0)");
for(int i=0;i>bigNum[i].num1>>bigNum[i].num2;
for(int j=0;j n2_len n1_len :n2_len;
for(int k=0 ; k < loop_len ; k++)
{
if(loop_len==n1_len && k>=n2_len)
{
bigNum[j].result[k] = (int)num_a[k] + carry;
}
else if(loop_len==n2_len && k>=n1_len)
{
bigNum[j].result[k] = (int)num_b[k] + carry;
}
else
{
bigNum[j].result[k] = (int)num_a[k] + (int)num_b[k] + carry - '0';
}
if(bigNum[j].result[k] > '9')
{
carry = (bigNum[j].result[k]-'0')/10;
bigNum[j].result[k] -= 10;
if(k==loop_len-1 && carry!=0)
{
bigNum[j].result[k+1]=carry+'0';
carry=0;
}
}
else
{
carry=0;
}
}
memset(num_a,0,sizeof(num_a));
memset(num_b,0,sizeof(num_b));
}
for(int p=0 ; p
看了下面这个程序是一个大数相加的程...的网友还看了以下:

就经济全球化的漫长进程看,“电气时代”所产生的作用是A帝国主义国家把世界瓜分殆尽B电话电报为远距离  2020-05-13 …

请问,为什么有的报纸上出现"本报讯"和"本报报道"如题,它们这两种写法有什么不同?  2020-06-17 …

为下面这则新闻拟写的标题最恰当的一项是[]本报讯昨日,我省召开保障性安居工程质量管理工作座谈会,要  2020-06-17 …

本报讯近来,北京市民对南水北调工程的进展情况更加关注。北京市水务局负责人就此发表谈话:南水北调中线  2020-06-17 …

英语翻译注意事项1.本报告无印章及未经审核无效2.如送样检验,本报告只对来样负责3.未经本中心书面  2020-06-20 …

某工业局所属企业报告期生产费用总额为50万元,比基期多8万元,单位成本报告期比基期上升7%,于是(  2020-07-22 …

本报综合报道在文献中引用时作者一栏怎么写“本报综合报道”在文献中引用时作者一栏怎么写不是这个意思,我  2020-11-11 …

被“机械工程学报”录用的文章一定会被EI收录并检索吗?如果我发的文章被“机械工程学报”录用了,那么这  2020-11-14 …

阅读下文,回答问题。“神舟五号”副总设计师郑松辉在华工大向人们讲述我国载人航天发展历程本报讯记者王倩  2020-11-25 …

请为下面的报道拟一条标题。(15字以内)本报讯昨日上午8时30分,随着一声清脆的枪声响,“体彩杯”2  2020-12-23 …