大数加法(C语言)

来源:互联网 发布:mysql数据库 pdf 编辑:程序博客网 时间:2024/06/07 21:13

大一遗留问题,心血来潮。

#include <stdio.h>#include <String.h>int main(){char add1[100], add2[100], result[101];int len1, len2, minLen, maxLen;int count1 = 0, count2 = 0;scanf("%s", add1);scanf("%s", add2);len1 = strlen(add1);len2 = strlen(add2);minLen = len1 < len2 ? len1 : len2;maxLen = len1 > len2 ? len1 : len2;if(len1 > len2)strcpy(result, add1);elsestrcpy(result, add2);printf("len1 = %d, len2 = %d\n", len1, len2);for(int i = 0; i < minLen; i++){int a = add1[len1 - i - 1] - '0';int b = add2[len2 - i - 1] - '0';a += b;if(a >= 10){a = a - 10;for(int j = i + 1;; j++)if(add1[len1 - j - 1] < '9'){add1[len1 - j - 1]++;break;}}result[maxLen - i - 1] = 48 + a;}printf("result = %s\n",result);return 0;}

0 0
原创粉丝点击