long
;C++ 使用 long long
),最后输出累加结果。若读到空行则输出 0。# 题目:一行整数求和(Python 实现)
# 思路:读取整行 -> 按空格切分 -> 转为整数列表 -> 累加输出
# 说明:本题输入为空格分隔,不需要使用 literal_eval;直接 split 即可。
import sys
def compute_sum(nums):
"""对整数列表求和并返回结果"""
s = 0
for x in nums:
s += x
return s
def main():
# 读取全部标准输入(ACM 风格常用做法)
data = sys.stdin.read().strip()
if not data:
# 若为空输入,按题意输出 0
print(0)
return
# 按空格分隔并转为整数
nums = list(map(int, data.split()))
# 计算并输出结果
print(compute_sum(nums))
if __name__ == "__main__":
main()
// 题目:一行整数求和(Java 实现,类名 Main,ACM 风格)
// 思路:使用输入流读取一行 -> 使用 StringTokenizer 按空白分隔 -> 以 long 累加 -> 输出
// 说明:数据规模很小,BufferedReader+StringTokenizer 足够;使用 long 防止溢出。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.ArrayList;
import java.util.List;
public class Main {
// 外部函数:对整数列表求和
static long computeSum(List<Long> nums) {
long s = 0L;
for (long x : nums) {
s += x; // 逐个累加
}
return s;
}
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine(); // 读取一行
if (line == null || line.trim().isEmpty()) {
System.out.print(0);
return;
}
// 使用输入流的分词器按空白切分(优先“替换字符+输入流/分词器”的思路)
StringTokenizer st = new StringTokenizer(line);
List<Long> nums = new ArrayList<>();
while (st.hasMoreTokens()) {
nums.add(Long.parseLong(st.nextToken()));
}
long ans = computeSum(nums);
System.out.print(ans);
}
}
// 题目:一行整数求和(C++ 实现,ACM 风格)
// 思路:getline 读取整行 -> 使用 istringstream 作为输入流逐个读取整数 -> 以 long long 累加 -> 输出
// 说明:使用 64 位整数以避免溢出;空输入输出 0。
#include <bits/stdc++.h>
using namespace std;
// 外部函数:对整数向量求和
long long compute_sum(const vector<long long>& a) {
long long s = 0;
for (long long x : a) {
s += x; // 逐个累加
}
return s;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string line;
if (!getline(cin, line)) {
// 若读不到任何内容,按题意输出 0
cout << 0;
return 0;
}
// 使用输入流按空白分隔读取整数(优先“替换字符+输入流”的方式)
istringstream iss(line);
vector<long long> a;
long long x;
while (iss >> x) {
a.push_back(x);
}
cout << compute_sum(a);
return 0;
}
给定一行由若干个整数组成的数字序列,求这些整数的和。
输入只有一行,包含若干个整数,整数之间以空格分隔。
输出一个整数,表示这一行中所有整数的和。
1 2 3 4 5
15
每个整数的范围为 −109≤x≤109
最多包含 1000 个整数