为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题
在此 C 程序中,我们需要使用函数分别计算矩阵每行和每列的总和。我们要做的是分别创建两个函数,一个用于行加法,一个用于列加法。然后我们调用相应的函数来执行相应的操作。
然后我们将参数传递给函数,例如**数组**、**行名**和**列名**,这取决于我们调用的函数。在该函数中,我们使用公式分别计算每行或每列的**和**。我们将结果传递到主 C 程序中,并在主程序中显示结果。
该程序的主要逻辑是接受用户输入的矩阵并将其存储到数组 **arr[10][10]** 中。然后使用 For 循环显示矩阵。我们调用相应的函数,并在函数中执行所有过程并将结果返回到主程序。
步骤 1: 包含头文件以在 C 程序中使用内置函数。
步骤 2: 声明数组 **arr[10][10]** 和整数变量 **Row** 和 **Col**。
步骤 3: 声明两个函数 **int Addrow(int A[10][10], int k, int c)** 和 **int Addcol(int A[10][10], int k, int c)**。
步骤 4: 从用户处获取矩阵的阶数到 **row** 和 **col** 中。
步骤 5: 使用嵌套的 For 循环从用户处获取矩阵并将其存储到 **arr[10][10]** 中。
步骤 6: 使用 **For 循环**打印矩阵 **arr[10][10]**。
步骤 7: 初始化 i=0
步骤 8: 检查 **i**
步骤 9: 计算 **rowsum=Addrow(arr,i,col)**
步骤 10: 打印 **行 i+1** 的和为 **rowsum**。将“**i**”增加**一**并重复步骤 8。
步骤 11: 初始化 **j=0**
步骤 12: 检查 **j**
步骤 13: 计算 **colsum=Addcol(arr,j,row)**
步骤 14: 打印列的和为 **colsum**。将“**j**”增加一并重复步骤 12。
步骤 15: 初始化 **j=0**
步骤 16: 检查 **j**
步骤 17: 计算 **sumall=sumall + Addrow(arr,j,col)**
步骤 18: 打印矩阵所有元素的总和为 **sumall**。
函数 int Addrow(int A[10][10], int k, int c) 步骤 1: 声明变量 **rsum=0**;
步骤 2: 使用 For 循环计算 **rsum = rsum + A[k][i]**。
步骤 3: 返回 **rsum**。
函数 int Addcol(int A[10][10], int k, int r)步骤 1: 声明变量 **csum=0**。
步骤 2: 使用 for 循环计算 **csum = csum + A[j][k];**
步骤 3: 返回 **csum**。
#include <stdio.h>
void main() {
int arr[10][10];
int i, j, row, col, rowsum, colsum, sumall = 0;
int Addrow(int A[10][10], int k, int c); /* Function declaration */
int Addcol(int A[10][10], int k, int c);
printf("Enter the order of the matrix\n");
scanf("%d %d", & row, & col);
printf("Enter the elements of the matrix\n");
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
scanf("%d", & arr[i][j]);
}
}
printf("Input matrix is\n");
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
printf("%d", arr[i][j]);
}
printf("\n");
}
for (i = 0; i < row; i++) /* computing row sum */ {
rowsum = Addrow(arr, i, col);
printf("Sum of row %d = %d\n", i + 1, rowsum);
}
for (j = 0; j < col; j++) {
colsum = Addcol(arr, j, row);
printf("Sum of column %d = %d\n", j + 1, colsum);
}
for (j = 0; j < row; j++) /* computation of all elements */ {
sumall = sumall + Addrow(arr, j, col);
}
printf("Sum of all elements of matrix = %d\n", sumall);
}
int Addrow(int A[10][10], int k, int c) /* Function to add each row */ {
int rsum = 0, i;
for (i = 0; i < c; i++) {
rsum = rsum + A[k][i];
}
return (rsum);
}
int Addcol(int A[10][10], int k, int r) /* Function to add each column */ {
int csum = 0, j;
for (j = 0; j < r; j++) {
csum = csum + A[j][k];
}
return (csum);
}
Enter the order of the matrix 3*3 Enter the elements of the matrix 1 2 3 4 5 6 7 8 9 Input matrix is 1 2 3 4 5 6 7 8 9 Sum of row 1 = 6 Sum of row 2 = 15 Sum of row 3 = 24 Sum of column 1 = 12 Sum of column 2 = 15 Sum of column 3 = 18 Sum of all elements of matrix = 45