展开全部
#include <stdio.h>
#include <string.h>
void Add(char a[], char b[], char sum[]);
int main()
{
char a[128] = {'\0'};
char b[128] = {'\0'};
while (2 == scanf("%s%s", a, b) )
{
char sum[128] = {'\0'};
Add(a, b, sum);
printf("%s + %s = %s (mod 6)\n", a, b, sum);
}
return 0;
}
void Add(char a[], char b[], char sum[])
{
int a_len = strlen(a);
int b_len = strlen(b);
int sum_len = 0;
int i = 0;
int j = 0;
int additional = 0;
int now_sum = 0;
char temp = '\0';
for (i = a_len - 1, j = b_len - 1; i >= 0 || j >= 0; i--, j--)
{
now_sum = additional;
if (i >= 0)
{
now_sum += a[i] - '0';
}
if (j >= 0)
{
now_sum += b[j] - '0';
}
sum[sum_len] = now_sum % 6 + '0';
additional = now_sum / 6;
sum_len++;
}
if (additional > 0)
{
sum[sum_len++] = additional + '0';
}
for (i = 0, j = sum_len - 1; i < j; i++, j--)
{
temp = sum[i];
sum[i] = sum[j];
sum[j] = temp;
}
return;
}
帕剌斯
2024-10-30 广告
2024-10-30 广告
德国Palas 成立于1983年,总部位于德国巴登符腾堡州的卡尔斯鲁厄。作为气溶胶技术专家, Palas 致力于为用户提供气溶胶颗粒物的产生、处理、测量与分析解决方案,是该领域内全球先进的开发商和制造商。基于自身技术的独特优势,Palas ...
点击进入详情页
本回答由帕剌斯提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询