码迷,mamicode.com
首页 > 其他好文 > 详细

大整数加法

时间:2018-10-23 20:42:47      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:输入   整数   rip   color   str   a+b   %s   char   int   

写程序求两个相同位数的大整数之和

输入

两个大整数(位数不超过1000)

输出

两个大整数的和

样例输入

1234567890 1234567890
111111111111 222222222222

样例输出

2469135780
333333333333
#include <stdio.h>
#include <string.h>
char add(char a, int &tag){
int r = a-0+tag;
if (r <= 9){
   tag = 0;
   return r+0;
}
else{
   tag = 1;
   return r+38;
}
}
char add(char a, char b, int &tag){
int r = a+b-96+tag;
if (r <= 9){
   tag = 0;
   return r+0;
}
else{
   tag = 1;
   return r+38;
}
}
int add(char sum[], char a[], char b[]){
int i = strlen(a)-1, j = strlen(b)-1, k = 0, tag = 0;
while (i>=0 && j>=0){
   sum[k++] = add(a[i--], b[j--], tag);
}
while (i >= 0){
   sum[k++] = add(a[i--], tag);
}
while (j >= 0){
   sum[k++] = add(b[j--], tag);
}
if (tag != 0){
   sum[k++] = tag+0;
}
return k;
}
int main(){
char a[1001], b[1001], sum[1002];
int i, k;
while (scanf("%s %s", a, b) == 2){
   k = add(sum, a, b);
   for (i=k-1; i>=0; --i){
    printf("%c", sum[i]);
   }
   printf("\n");
}
return 0;
}

 

大整数加法

标签:输入   整数   rip   color   str   a+b   %s   char   int   

原文地址:https://www.cnblogs.com/Lazy-Cat/p/9838281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!