原题链接:蓝桥杯基础练习VIP-高精度加法
解题思路:
注意事项: 注意 ++ 的位置
参考代码:
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <iostream>
#include <algorithm>
using namespace std;
char str1[101], str2[101];
int a[101], b[101], c[101];
int main()
{
int len_str1, len_str2, len_max;
scanf("%s%s", str1, str2);
len_str1 = strlen(str1);
for(int i = 0, j = len_str1-1; i < len_str1; ++i, --j)
{
a[i] = str1[j]-'0';
}
len_str2 = strlen(str2);
for(int i = 0, j = len_str2-1; i < len_str2; ++i, --j)
{
b[i] = str2[j]-'0';
}
int i = 0, j = 0, k = 0, p = 0;
while(i < len_str1 && j < len_str2)
{
c[p++] = (a[i]+b[j]+k)%10;
k = (a[i++]+b[j++]+k)/10;
}
while(i < len_str1)
{
c[p++] = (a[i]+k)%10;
k = (a[i++]+k)/10;
}
while(j < len_str2)
{
c[p++] = (b[j]+k)%10;
k = (b[j++]+k)/10;
}
if(k)
{
printf("1");
}
for(int r = p-1; r >= 0; --r)
{
printf("%d", c[r]);
}
printf("\n");
return 0;
}0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复