记录编号 |
94025 |
评测结果 |
AAAAAAAAAA |
题目名称 |
增强的加法问题 |
最终得分 |
100 |
用户昵称 |
Will |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2014-03-29 16:59:45 |
内存使用 |
0.29 MiB |
显示代码纯文本
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 110
int main() {
freopen("add.in","r",stdin);
freopen("add.out","w",stdout);
char num1_char[MAX_LENGTH+10],num2_char[MAX_LENGTH+10];
int num1_int[MAX_LENGTH+10],num2_int[MAX_LENGTH+10];
int i,max_length;
int length1=0;
int length2=0;
int flag;
memset(num1_int,0,sizeof(num1_int));
memset(num2_int,0,sizeof(num2_int));
memset(num1_char,0,sizeof(num1_char));
memset(num2_char,0,sizeof(num2_char));
scanf("%s%s",num1_char,num2_char);
for(i=0;i<MAX_LENGTH;i++) {
if(num1_char[i]!='\0') length1++;
if(num2_char[i]!='\0') length2++;
}
if(length1>length2) max_length=length1;
else max_length=length2;
flag=max_length;
for(i=0;i<length1;i++) num1_int[i]=num1_char[length1-1-i]-'0';
for(i=0;i<length2;i++) num2_int[i]=num2_char[length2-1-i]-'0';
for(i=0;i<max_length;i++) {
num1_int[i]+=num2_int[i];
if(num1_int[i]>=10) {
num1_int[i]%=10;
num1_int[i+1]++;
}
}
if(num1_int[flag]==0) flag--;
for(i=flag;i>-1;i--) printf("%d",num1_int[i]);
return 0;
}