分数 15
全屏浏览题目
切换布局
作者 C课程组
单位 浙江大学
本题要求编写程序,求一个给定的m×n矩阵各行元素之和。
输入格式:
输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间
以空格分隔。
输出格式:
每行输出对应矩阵行元素之和。
输入样例:
3 2
6 3
1 -8
3 12
输出样例:
9
-7
15
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
我的答案:
C语言:
#include <stdio.h>
int main() {
int m, n;
scanf("%d %d", &m, &n);
for(int i = 0; i < m; i++) {
int sum = 0; // 用于存储当前行的和
for(int j = 0; j < n; j++) {
int num;
scanf("%d", &num);
sum += num;
}
printf("%d\n", sum);
}
return 0;
}
C++:
#include <iostream>
using namespace std;
int main() {
int m, n;
cin >> m >> n;
for(int i = 0; i < m; i++) {
int sum = 0; // 用于存储当前行的和
for(int j = 0; j < n; j++) {
int num;
cin >> num;
sum += num;
}
cout << sum << endl;
}
return 0;
}
解题过程
-
读取矩阵的大小: 读取
m
和n
的值,确定矩阵的大小。 -
遍历和计算: 通过外层循环遍历矩阵的每一行,内层循环遍历每一行的每一个元素,并进行累加。使用一个变量
sum
来存储当前行的和。 -
输出结果: 将每一行的和输出,每一行输出一个和。
通过这道题目,我们可以学习到二维数组的操作和遍历,同时也能够加强对循环结构和基本输入输出的理解和运用。
总结:
从这道题目中,我们可以学习和加深以下几点的理解和应用:
-
基本的二维数组操作:题目要求对一个二维矩阵进行操作,所以我们需要了解如何在C或C++中定义和操作二维数组。
-
嵌套循环的应用:为了遍历二维数组中的每一个元素,我们使用了双重循环,这有助于加强对嵌套循环结构的理解。
-
基本的输入输出:这道题目提供了对于如何从标准输入读取二维矩阵数据,以及如何将结果输出到标准输出的实践。
-
累加操作:通过这道题目,我们可以练习使用累加器来计算总和。这是编程中常见的操作,特别是在数据处理和统计中。
-
问题分解:这道题目教我们如何将一个问题分解成更小的、可管理的部分。例如,我们可以首先考虑如何读取矩阵,然后考虑如何计算每行的和,最后考虑如何输出结果。
-
增强问题解决能力:通过解决这样的问题,我们可以练习和增强自己分析问题和解决问题的能力。
总的来说,这道题目是一个基本的编程练习,涉及到了数组、循环和输入输出等基本编程概念。通过解决这样的问题,学生可以加强对这些基本概念的理解和应用能力。