欢迎光临散文网 会员登陆 & 注册

【算法笔记】 A+B

2021-12-25 13:38 作者:小幻不想码代码  | 我要投稿

http://codeup.hustoj.com/problem.php?cid=100000575&pid=1

题目描述

给定两个整数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

*********************************************************************************************************

/*思路:

输入时,有数字和“,”,考虑用数组,再将char型的数字转换成整型。通过翻阅资料

很容易可以找出如何将char转换成int,例如:'9'-'0'就是数字9,以此类推,遍历数组

A[0]>='0'&&A[0]<='9',再把遍历到的char型的数字转换成int型数字,最后再判断正负。 

*/



#include<stdio.h>

#include<string.h>

#define N 1000

int main(){

char A[N];//接收读入的两组数据用的数组 

char B[N];

while(scanf("%s %s",A,B)!=EOF){

int a=strlen(A);//计算数组长度,方便后面遍历 

int b=strlen(B);

int NewAa=0;//用来接收由char转换成int的数据 

int NewBb=0;

for(int i=0;i<a;i++){

if(A[i]>='0'&&A[i]<='9'){//遍历数组中'1'-'9'的字符 

NewAa=NewAa*10+(A[i]-'0');//char型数字转换成int型数字 

}

}

if(A[0]=='-') NewAa=-NewAa;//正负号的判断 

//同理: 

for(int i=0;i<b;i++){

if(B[i]>='0'&&B[i]<='9'){

NewBb=NewBb*10+(B[i]-'0');

}

}

if(B[0]=='-') NewBb=-NewBb;

printf("%d\n",NewAa+NewBb);

}

return 0;

}




【算法笔记】 A+B的评论 (共 条)

分享到微博请遵守国家法律