ACM编程常见输入输出类型题(四)
本篇文章是ACM编程常见输入输出类型第四题,提供Python和C++两种语言的参考答案。
其余题型可以在《ACM编程常见输入输出题型汇总》专栏中查看。掌握专栏中的所有题型,基本可以覆盖所有公司的笔试的输入形式了。
一、题目描述 :计算一系列数的和(数组变体1)
(一)题目特点:输入多行数组,每行数组元素个数指定,且根据给定条件终止输入。
(二)数据范围:数据组数满足1≤t≤1000,每组数据中整数个数满足1≤n≤1000,每组数据中的值满足1≤val≤1000。
(三)输入描述:输入数据包括多组。每组数据一行,每行的第一个整数为整数的个数n(1≤n≤1000),n为0的时候结束输入。接下来n个正整数,即需要求和的每个正整数。
(四)输出描述:每组数据输出求和的结果。
(五)示例:
输入:
4 1 2 3 4
5 1 2 3 4 5
0
输出:
10
15
二、C++语言参考代码
#include<iostream> #include<vector> using namespace std; class Solution{ public: int Sum(vector<int> nums){ int sum = 0; for(int num : nums){ sum += num; } return sum; } }; int main(){ int n; Solution* so = new Solution; while(cin>>n){ if(n == 0) break; vector<int> nums; for(int i = 0; i < n; i++){ int num; cin>>num; nums.push_back(num); } int res = so->Sum(nums); cout<<res<<endl; } }
三、Python语言参考代码
import sys class Solution: def Sum(self, nums): res = 0 for num in nums: res += num return res if __name__ == "__main__": so = Solution() for lines in sys.stdin: line = list(map(int, lines.strip().split(' '))) if line[0] == 0: break res = so.Sum(line[1:]) print(res)
ACM编程常见输入输出题型汇总 文章被收录于专栏
本专栏汇总了常见的ACM编程常见输入输出题型。 目前95%以上的互联网大厂、车企以及私企的笔试环节均采用了ACM模式。所以,如果各位同学平常主要刷Leetcode来提升自己代码能力的话,一定要提前熟悉ACM模式,以防出现原本是自己会的题目,但是不知道如何适配输入输出类型和格式而前功尽弃!