JER的小站

HDOJ的A+B练习

2025/11/02
21
0

1.最简单的A+B(HDOJ-1000和1090)

直接计算即可

#include <iostream>
using namespace std;
int main() {
	int n;
	int x, y;
	while (cin >> n) {
		for (int i=0;i < n;i++) {
			cin >> x >> y;
			cout << x + y << endl;
		}
	}
}

2.HDOJ-1091

这个相比简单的A+B多了一个中断条件---当A=B=0时,终止程序,只需要在输入的时候加一个if判断即可

#include <iostream>

int main() {
	int x, y;
	while(std::cin >> x >> y) {
		if (x == 0 && y == 0) {
			break;
		}
		std::cout << x + y << std::endl;
	}
}

3.HDOJ-1092

这个练习不再限于两数相加,而是扩展到N个数,并且终止条件为N=0,对于N个数相加,我们只需要用N轮循环累加到一个变量SUM之上,另外加一个if语句判断N是否等于0即可

#include <iostream>
using namespace std;

int main() {
	int n;
	int x,sum;
	while (cin >> n) {
		sum = 0;
		if (n == 0) {
			break;
		}
		for (int i = 0; i < n; i++) {
			cin >> x;
			sum += x;
		}
		cout << sum << endl;
	}
}

4.HDOJ-1093

这次的题目与HDOJ-1092基本一样,只是终止条件变成了提前给出一个N,代表有N组数据,只需要用嵌套循环即可解决

#include <iostream>

using namespace std;

int main() {
	int n;
	int x, y, sum;
	while (cin >> n) {
		for (int i = 0; i < n; i++) {
			sum = 0;
			cin >> x;
			for (int j = 0; j < x; j++) {
				cin >> y;
				sum += y;
			}
			cout << sum << endl;
		}
	}
}

5.HDOJ-1094

这个题目与HDOJ-1092几乎一样,但是没了终止条件,并且要求在输入完每一个答案以后再额外输出一个空行

#include <iostream>
using namespace std;
int main() {
	int n;
	int x, sum;
	while (cin >> n){
		sum = 0;
		for (int i = 0; i < n; i++) {
			cin >> x;
			sum += x;
		}
		cout << sum << endl;
	}
}

6.HDOJ-1095

这道题也是返璞归真,与HDOJ-1000几乎一样,但是要求答案之后输出一个空行

#include <iostream>
using namespace std;
int main(){
	int x, y;
	while (cin >> x >> y) {
		cout << x + y << "\n" << endl;
	}

}

7.HDOJ-1096

这道题其实就是HDOJ-1093输出多加了一个空行

#include <iostream>
using namespace std;
int main() {
	int n, m;
	int x, sum;
	while (cin >> n) {
		for (int i = 0; i < n; i++) {
			cin >> m;
			sum = 0;
			for (int j = 0; j < m; j++) {
				cin >> x;
				sum += x;
			}
			cout << sum << endl<< endl;
		}
	}
}