标签:输入 整数 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