刚刚开始刷九度online judge的题目:不会了,上网跟别人学的
- 题目描述:
-
给定两个整数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 2346912
我用c++ vc6.0 做的, atoi 应该是ascii to int 吧
#include<iostream.h> #include<string> using namespace std; int main() { char s1[14];//有取值范围,所以设置这么大 char s2[14]; char s3[14]; char s4[14]; while(1) { cin>>s1>>s2; int k1=0,k2=0; int l1,l2; l1=strlen(s1); l2=strlen(s2); for (int i=0;i<l1;i++) { if (s1[i]!=',') s3[k1++]=s1[i]; s3[k1]='\0'; } //printf("%d\n",atoi(s3)); //做了一些测试,atoi 必须对应一串连续的数,如果数字之间有\0,转换之后返回0,所以设置了一个k1 k2 for (int j=0;j<l2;j++) { if (s2[j]!=',') s4[k2++]=s2[j]; s4[k2]='\0'; } int add=atoi(s3)+atoi(s4); cout<<add<<endl; // break; } return 0; }