支援本站缴服务器运行费
问题 B: A+B
时间限制: 1 Sec 内存限制: 32 MB提交: 966 解决: 511
[提交][状态][讨论版][命题人:外部导入]
题目描述
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。
输入
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
输出
请计算A+B的结果,并以正常形式输出,每组数据占一行。
样例输入
-234,567,890 123,456,789
1,234 2,345,678
样例输出
-111111101
此题解题的关键在于:使用sprintf()与sscanf();
AC代码:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define Max 20 using namespace std; int main(void) { freopen("in.txt","r",stdin); char a[Max],a1[Max],b[Max],b1[Max]; while(scanf("%s%s",a,b)!=EOF) { // memset(sum,0,sizeof(sum)); int lena,lenb; long long sum1=0,suma=0,sumb=0; lena=strlen(a); lenb=strlen(b); for(int x=0,y=0;x<lena;x++) { if(a[x]!=',') { a1[y]=a[x]; y++; } if(x==lena-1) a1[y]='\0'; } // printf("%s\n",a1); for(int x=0,y=0;x<lenb;x++) { if(b[x]!=',') { b1[y]=b[x]; y++; } if(x==lenb-1) b1[y]='\0'; } // printf("%s\n",b1); sscanf(a1,"%lld",&suma); sscanf(b1,"%lld",&sumb); sum1=suma+sumb; printf("%lld\n",sum1); } fclose(stdin); return 0; }
2346912