设计一个C语言程序实现可以输入二维数组的行和列完成这个二维数组的定义,再往此二维数组中输入适当的数后,输出打印出所有数之和。
时间: 2024-12-22 21:24:28 浏览: 5
C语言第07章-一维数组和二维数组1完整.pptx
设计一个C语言程序来实现这个功能,你可以按照以下步骤操作:
```c
#include <stdio.h>
#define MAX_ROWS 100
#define MAX_COLS 100
// 定义结构体存储二维数组元素
typedef struct {
int data[MAX_COLS];
} Array2D;
// 函数用于获取用户输入的行和列
int get_dimention() {
int rows, cols;
printf("请输入二维数组的行数(1-%d): ", MAX_ROWS);
scanf("%d", &rows);
printf("请输入二维数组的列数(1-%d): ", MAX_COLS);
scanf("%d", &cols);
// 检查输入是否合法
if (rows <= 0 || cols <= 0) {
printf("输入错误,请确保行和列大于0.\n");
return -1;
}
return rows * cols;
}
// 函数用于读取并初始化二维数组
void input_array(Array2D* arr, int dim) {
for (int i = 0; i < dim; i++) {
for (int j = 0; j < dim; j++) {
printf("请输入第%d行第%d列的元素: ", i+1, j+1);
scanf("%d", &arr->data[i][j]);
}
}
}
// 计算二维数组中所有元素的总和
int sum_array(const Array2D* arr, int dim) {
int total = 0;
for (int i = 0; i < dim; i++) {
for (int j = 0; j < dim; j++) {
total += arr->data[i][j];
}
}
return total;
}
int main() {
int dim = get_dimention();
if (dim == -1) return 0;
Array2D array;
input_array(&array, dim);
printf("二维数组中所有元素的和为: %d\n", sum_array(&array, dim));
return 0;
}
```
在这个程序中,我们首先定义了一个`Array2D`结构体,然后提供函数获取用户输入的行和列,读取输入到二维数组中,并计算数组元素的总和。最后,在主函数中调用这些函数来完成整个过程。
阅读全文