输入n*n的一个二维数组,输出其每一圈元素的和,用c语言
时间: 2024-12-28 16:34:56 浏览: 9
在C语言中,你可以使用嵌套循环来遍历二维数组,并计算每个环形元素的和。这里是一个简单的函数示例,它接受一个`int`类型的二维数组作为输入:
```c
#include <stdio.h>
#define ROWS 4 // 可以改变这个值来适应不同的矩阵大小
#define COLS 4 // 同样可以修改
// 函数声明
void calculate_circle_sums(int arr[ROWS][COLS], int n);
// 主函数
int main() {
int arr[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}}; // 示例数组
int total_sums;
// 调用函数并存储结果
total_sums = calculate_circle_sums(arr, ROWS);
printf("所有环形元素之和: %d\n", total_sums);
return 0;
}
// 计算环形元素之和的函数
void calculate_circle_sums(int arr[][COLS], int n) {
int sum = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j <= i; ++j) { // 上半圆
sum += arr[i][j];
}
if (i != 0) { // 下半圆,跳过对角线
for (int j = n - 1; j >= i; --j) {
sum += arr[i][j];
}
}
}
// 输出结果到总和变量中
}
```
在这个例子中,`calculate_circle_sums`函数会从左上角开始,逐行递增计算每个小环的元素之和,同时避开对角线元素。然后在下半部分的循环中,它会从右下角向左上角移动,再次计算元素之和。
阅读全文