咖啡


私信TA

用户名:Tianxn

访问量:138174

签 名:

十年OI一场空,不开LL见祖宗。

等  级
排  名 10
经  验 27303
参赛次数 10
文章发表 197
年  龄 22
在职情况 学生
学  校 西安电子科技大学
专  业 软件工程

  自我简介:

解题思路:

注意事项: 注意     ++  的位置
 
参考代码:

#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分

4 人评分

  评论区

  • «
  • »