题目描述
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号”,”隔开。 现在请计算A+B的结果,并以正常形式输出。
输入描述:
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
输出描述:
请计算A+B的结果,并以正常形式输出,每组数据占一行。
示例1
输入
-234,567,890 123,456,789
1,234 2,345,678
输出
-111111101
2346912
答案
#include<stdio.h>
#include<string.h>
//装a、b那两个数
char s1[20], s2[20];
//a、b的位数
int len1, len2;
//a、b
int a, b;
int main()
{
int i = 0;
//scanf("%s%s", s1, s2)以空格为终止符
while(scanf("%s%s", s1, s2) != EOF)
{
a = b = 0;
len1 = strlen(s1);
len2 = strlen(s2);
for(i = 0; i < len1; i++)
{
//用if语句来屏蔽非数字的字符;从高位到低位,逐渐生成字符数
if(s1[i] >= '0' && s1[i] <= '9')
{
a = a * 10 + s1[i] - '0';
}
}
//再去看看字符串的首位,判断其正负性
if(s1[0] == '-')
{
a = -a;
}
for(i = 0; i < len2; i++)
{
if(s2[i] >= '0' && s2[i] <= '9')
{
b = b * 10 + s2[i] - '0';
}
}
if(s2[0] == '-')
{
b = -b;
}
printf("%d", a + b);
}
return 0;
}
本文介绍了一种方法,用于处理以逗号分隔每三位数字的大型整数,通过去除逗号并转换成整数类型,进而计算这些大数的和。示例代码展示了如何读取格式化的数字字符串,处理正负号,并输出计算结果。
1959

被折叠的 条评论
为什么被折叠?



