在线等高手解答大数相加

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:57:06
下面这个程序是一个大数相加的程序,我在本机上运行完全正常,也考虑了很多特殊情况,为什么我一提交到AC上面就报结果错误呢?希望哪位前辈帮帮我,谢谢!
#include <iostream>
#include <string.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(T<=0 || T>20) exit(0);
for(int i=0;i<T;i++) cin>>bigNum[i].num1>>bigNum[i].num2;
for(int j=0;j<T;j++)
{

int ci=0,cj=0;
n1_len=(int)strlen(bigNum[j].num1);
n2_len=(int)strlen(bigNum[j].num2);

while(bigNum[j].num1[ci]=='0')
{
ci++;
n1_len--;

#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(T<=0 || T>20) system("exit(0)");
for(int i=0;i<T;i++) cin>>bigNum[i].num1>>bigNum[i].num2;
for(int j=0;j<T;j++)
{

int ci=0,cj=0;
n1_len=(int)strlen(bigNum[j].num1);
n2_len=(int)strlen(bigNum[j].num2);

while(bigNum[j].num1[ci]=='0')
{
ci++;
n1_len--;
}
cj=n1_len-1;
while(bigNum[j].num1[ci]!='\0')
{

num_a[cj]=bigNum[j].num1[ci];