算法笔记练习 3.1 简单模拟 问题 B: A+B

算法笔记练习 题解合集

本题链接

题目

题目描述
给定两个整数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

思路

建议用字符串的方式读入数据再处理,不要学我逐字符读入…逐字符需要一个额外的变量getout来控制何时跳出循环。

代码

#include 

bool getout = false;

int readnumber() {
	char ch;
	int num = 0;
	bool minus = false;
	while (ch = getchar()) {
		if (ch == EOF) {
			getout = true;
			break;
		}
		if (ch == ',')
			continue; 
		else if (ch == ' ' || ch == '\n')
			break;
		else if (ch == '-')
			minus = true;
		else
			num = num * 10 + ch - '0';
	}
	return minus ? -num : num;
} 

int main() {
	do {
		int a = readnumber();
		int b = readnumber();
		printf("%d\n", a + b);
	} while (!getout); 
	return 0;
} 

你可能感兴趣的:(算法笔记)