#include <string.h> #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { char str1[100] = {'\0'}, str2[100] = {'\0'}; while (scanf("%s%s", str1, str2) != EOF) { int size_str1 = 0, size_str2 = 0;//存储两个大数的位数 int number_str1[100] = {0}, number_str2[100] = {0}; //分别计算两个大数的位数 size_str1 = strlen(str1); size_str2 = strlen(str2); //将字符数组转化为数字数组,并倒序存储在整型数组中 for (int i = size_str1 - 1, j = 0; i >= 0; --i) { number_str1[j] = str1[i] - '0'; j++; } for (int i = size_str2 - 1, j = 0; i >= 0; --i) { number_str2[j] = str2[i] - '0'; j++; } //实现大数的加法 for (int i = 0; i <= 100; ++i) { number_str1[i] = number_str1[i] + number_str2[i]; //判断是否产生进位 if (number_str1[i] > 9) { number_str1[i] -= 10; number_str1[i + 1]++; } } //计算最终结果的位数 int i = 99; for (i = 99; i >= 0 && number_str1[i] == 0; --i); //输出结果 if (i >= 0) { for (int j = i; j >= 0; --j) { printf("%d", number_str1[j]); } } else { printf("0"); } printf("\n"); } return 0; }
0.0分
4 人评分
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:932 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1327 |
母牛的故事 (C语言代码)浏览:992 |
DNA (C语言代码)浏览:798 |
罗列完美数 (C语言代码)浏览:519 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:569 |
时间转换 (C语言代码)浏览:697 |
字符逆序 (C语言代码)浏览:541 |
生日日数 (C语言代码)浏览:1574 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:538 |