记录编号 94025 评测结果 AAAAAAAAAA
题目名称 增强的加法问题 最终得分 100
用户昵称 GravatarWill 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-03-29 16:59:45 内存使用 0.29 MiB
显示代码纯文本
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define MAX_LENGTH 110
  4. int main() {
  5. freopen("add.in","r",stdin);
  6. freopen("add.out","w",stdout);
  7. char num1_char[MAX_LENGTH+10],num2_char[MAX_LENGTH+10];
  8. int num1_int[MAX_LENGTH+10],num2_int[MAX_LENGTH+10];
  9. int i,max_length;
  10. int length1=0;
  11. int length2=0;
  12. int flag;
  13. memset(num1_int,0,sizeof(num1_int));
  14. memset(num2_int,0,sizeof(num2_int));
  15. memset(num1_char,0,sizeof(num1_char));
  16. memset(num2_char,0,sizeof(num2_char));
  17. scanf("%s%s",num1_char,num2_char);
  18. for(i=0;i<MAX_LENGTH;i++) {
  19. if(num1_char[i]!='\0') length1++;
  20. if(num2_char[i]!='\0') length2++;
  21. }
  22. if(length1>length2) max_length=length1;
  23. else max_length=length2;
  24. flag=max_length;
  25. for(i=0;i<length1;i++) num1_int[i]=num1_char[length1-1-i]-'0';
  26. for(i=0;i<length2;i++) num2_int[i]=num2_char[length2-1-i]-'0';
  27. for(i=0;i<max_length;i++) {
  28. num1_int[i]+=num2_int[i];
  29. if(num1_int[i]>=10) {
  30. num1_int[i]%=10;
  31. num1_int[i+1]++;
  32. }
  33. }
  34. if(num1_int[flag]==0) flag--;
  35. for(i=flag;i>-1;i--) printf("%d",num1_int[i]);
  36. return 0;
  37. }