移动网站设计方案怎样做网站上的语种链接
在 C++ 的算法题中,如果你不知道输入数据有多少组(即测试用例的数量未知),通常的处理方式是使用 循环读取输入直到文件结束 (EOF)。这类题目常见于在线评测系统(如 LeetCode、牛客网、POJ 等)。
✅ 常见方法:使用 while (cin >> 变量) 或 while (getline(cin, str))
 
📌 方法 1:适用于每组输入有固定变量的情况
#include <iostream>using namespace std;int main() {int a, b;while (cin >> a >> b) {// 处理每一组输入cout << a + b << endl;}return 0;} 
- 这种写法会持续读取输入,直到没有更多输入为止(遇到 EOF 结束循环)。
 - 常用于像“多组输入求 a + b”这种题目。
 
📌 方法 2:按整行读取(适合复杂格式或含空格的输入)
#include <iostream>#include <sstream>using namespace std;int main() {string line;while (getline(cin, line)) {// 每一行 line 是一组输入istringstream iss(line);int a, b;if (iss >> a >> b) {cout << a + b << endl;}}return 0;} 
- 使用 
getline(cin, line)来逐行读取; - 再使用 
istringstream解析每一行的数据; - 更灵活,适合输入格式较复杂的题目。
 
📌 方法 3:读入多个数字的一组数据(比如每组输入是一行多个数)
#include <iostream>#include <vector>using namespace std;int main() {string line;while (getline(cin, line)) {istringstream iss(line);int num;vector<int> nums;while (iss >> num) {nums.push_back(num);}// 处理这一组数据,例如求和int sum = 0;for (int x : nums) sum += x;cout << sum << endl;}return 0;} 
小结
|   场景  |   推荐写法  | 
|---|---|
|   每组输入几个固定变量(如 a 和 b)  |   
  | 
|   输入可能包含空格或一整行  |   
  | 
|   每组输入有多个不确定数量的数字  |   
  | 
补充说明
- 在本地调试时,可以通过输入重定向或手动输入后按下 
Ctrl+Z(Windows)或Ctrl+D(Linux/macOS)来模拟 EOF。 - 在 OJ 平台上,程序会自动从标准输入读取数据,直到输入结束。
 
