首页 > 试题广场 >

单组_二维数组

[编程题]单组_二维数组
  • 热度指数:33096 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个 nm 列的二维正整数数组 \{a_{i,j}\},其中 1 \leqq i \leqq n1 \leqq j \leqq m,且 1 \leqq a_{i,j} \leqq 10^9
\hspace{15pt}请计算数组中所有元素之和。

输入描述:
\hspace{15pt}在一行上输入两个整数 n,m \left(1 \leqq n,m \leqq 10^3\right)
\hspace{15pt}接下来 n 行,每行输入 m 个整数 a_{i,1},a_{i,2},\dots,a_{i,m} \left(1 \leqq a_{i,j} \leqq 10^9\right)


输出描述:
\hspace{15pt}输出一个整数,表示二维数组所有元素之和。
示例1

输入

3 4
1 2 3 4
5 6 7 8
9 10 11 12

输出

78
a,b = map(int,input().split())
lists = []

for i in range(0,a):
    c = list(map(int,input().split()))
    lists = lists + c

print(sum(lists))
发表于 2024-09-08 22:57:02 回复(0)
#include <iostream>
using namespace std;

int main() {
    unsigned long long int sum = 0,temp;
    int m,n;
    cin >> n >> m;
    //真的有用数组存储的必要吗
    for(int i = 0; i < n * m ; i++){
        cin >> temp;
        sum += temp;
    }
    cout << sum << endl;
    return 0;
}

发表于 2025-10-05 17:58:07 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        int m = sc.nextInt();

        int[][] a = new int[n][m];
        long sum = 0;
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                a[i][j] = sc.nextInt();
                sum += a[i][j];
            }
        }

        sc.close();
        System.out.print(sum);

    }
}
发表于 2025-04-28 15:59:25 回复(1)
#include <stdio.h>
int main()
{
    int n=0,m=0;///n行,m列
    scanf("%d %d",&n,&m);
    long long i=0,j=0;
    long long sum=0,mm=0;
    for (;i<n;i++)
    {
        for(;j<m;j++)
        {
            scanf("%lld",&mm);
            sum+=mm;
        }
        j=0;
    }
    printf("%lld",sum);
    return 0;
}
发表于 2025-11-21 23:48:55 回复(3)
a , b = map(int,input().split())
sum_  = 0
for i in range(a):
    ls = list(map(int,input().split()))
    sum_ += sum(ls)
print(sum_)

发表于 2025-09-27 23:00:32 回复(0)
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;

    vector<vector<int>> arr(n, vector<int>(m));

    for(int i = 0;i < n;i++){
        for(int j = 0;i < m;j++) {
            cin >> arr[i][j];
        }
    }

    long sum = 0;

    for(int i = 0;i < n;i++){
        for(int j = 0;i < m;j++) {
            sum += arr[i][j];
        }
    }

    cout << sum << endl;

    return 0;
}

运行超时
您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
发表于 2025-09-18 20:36:39 回复(0)
#include <stdio.h>

int main() {
    int n,m;
    scanf("%d %d",&n,&m);
    long long sum=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            int x;
            scanf("%d",&x);
            sum+=x;
        }
    }
    printf("%lld\n",sum);
    return 0;
}
发表于 2025-12-16 20:41:59 回复(0)
#include <iostream>
using namespace std;
#include <vector>

using ll = long long;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n,m;
    cin >> n >> m;
    vector<vector<ll>> v(n+1, vector<ll>(m+1, 0));
    ll count = 0;
    for(auto& row : v){
        for(auto& val : row){
            cin >> val;
            count += val;
        }
    }
    cout << count << endl;
}

发表于 2025-12-16 01:19:25 回复(0)
using ll = long long;
int main() {
    ll n, m, x, sum = 0;
    cin >> n >> m;
    for(int i = 0; i < n * m; i ++) cin >> x, sum += x;
    cout << sum;
}

发表于 2025-12-13 13:56:52 回复(0)
n, m = map(int, input().split(" "))
aij = [list(map(int, input().split(" "))) for i in range(n)]
ai = sum(aij, start=[])   # sum函数可用于将二维列表合并为一维列表
print(sum(ai))
发表于 2025-12-01 16:56:28 回复(0)
n,m = map(int,input().split())
s = 0
for _ in range(n):
    a = list(map(int,input().split()))
    s += sum(a)
print(s)

发表于 2025-11-11 22:21:14 回复(0)
#include <stdio.h>

int main() {
    int n,m;
    long long sum=0;
    scanf("%d%d",&n,&m);
    int arr[n][m];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            scanf("%d",&arr[i][j]);
            sum+=arr[i][j];
        }
    }
    printf("%lld",sum);
    return 0;
}
发表于 2025-11-09 22:18:10 回复(0)
#include<bits/stdc++.h>
#include<vector>
using namespace std;
int main()          
{
    long a, b;
    cin >> a >> b;
    long sum = 0;
    vector<long> sz(a * b + 1);
    for (long i = 1; i <= a*b; i++)
    {
        cin >> sz[i];
        sum += sz[i];
    }
    cout << sum;
    return 0;
}
发表于 2025-10-09 12:14:04 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int n = in.nextInt(), m = in.nextInt();
        long sum = 0;
        // 按照题目要求使用数组的做法
        int[][] nums = new int[n][m];
        for (int h=0; h<n; h++) {
            for (int w=0; w<m; w++) {
                nums[h][w] = in.nextInt();
            }    
        }
        for (int[] outside:nums) {
            for (int inside:outside) {
                sum+=inside;
            }
        }

        /* 邪修版 
        for (int i=0; i<n; i++) {
            for (int l=0; l<m; l++) {
                sum += in.nextInt();
            }
        }
        */

        System.out.println(sum);
    }
}
还是邪修好
发表于 2025-10-09 11:10:16 回复(0)
n,m=map(int,input().split())
count=0
for i in range(n):
    hang=list(map(int,input().split()))
    count+=sum(hang)
print(count)    

发表于 2025-09-26 11:44:00 回复(0)
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    int a[n][m];
    for (int  i = 0; i < n; i++) {
        for (int  j = 0; j  < m; j++) {
            cin >> a[i][j];
        }

    }
    long long sum = 0;      //这里要longlong,后面很大
    for (int  i = 0; i < n; i++) {
        for (int j = 0; j < m ; j++) {
            sum += a[i][j];
        }

    }
    cout << sum;

}
发表于 2025-09-25 22:31:52 回复(1)
java 使用双重for循环
发表于 2025-09-02 11:14:07 回复(0)
func main() {
    var n, m int
    fmt.Scan(&n, &m)
    
    // 创建二维切片
    a := make([][]int, n)
    for i := 0; i < n; i++ {
        a[i] = make([]int, m)
    }
    
    // 读取二维数组元素
    for i := 0; i < n; i++ {
        for j := 0; j < m; j++ {
            fmt.Scan(&a[i][j])
        }
    }
    
    // 计算所有元素之和
    sum := int64(0)
    for i := 0; i < n; i++ {
        for j := 0; j < m; j++ {
            sum += int64(a[i][j])
        }
    }
    
    fmt.Println(sum)
}

发表于 2025-08-20 09:07:56 回复(0)
大家为了卷时间,真的是玩出花样来了
发表于 2025-08-14 15:12:09 回复(0)
using System;
using System.Linq;
public class Program {
    public static void Main() {
    string[]  input = Console.ReadLine().Split();
    int n = int.Parse(input[0]);
    int m = int.Parse(input[1]);

    long total = 0;
    for(int i=0 ; i<n ; i++ ) {
        //读取一行数据并将其转换为整数数组
    int[] row = Console.ReadLine().Split().Select(int.Parse).ToArray();
    //将当前行的所有元素累加到总和
    foreach(int num in row){
        total = total+num;
    }
    }
       Console.WriteLine(total);      
    }
}
发表于 2025-07-31 21:02:07 回复(0)