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编程常见输入输出题型。 目前95%以上的互联网大厂、车企以及私企的笔试环节均采用了ACM模式。所以,如果各位同学平常主要刷Leetcode来提升自己代码能力的话,一定要提前熟悉ACM模式,以防出现原本是自己会的题目,但是不知道如何适配输入输出类型和格式而前功尽弃!

全部评论

相关推荐

评论
4
2
分享

创作者周榜

更多
牛客网
牛客企业服务