思路:求矩阵各行的和时,矩阵的行先不变,利用for循环依次遍历该行的每一列元素累加求和;求矩阵各列的和时,矩阵的列先不变,利用for循环依次遍历该列的每一行元素累加求和。
参考代码:
#include<stdio.h>int Sr(int a[3][5],int n)//求矩阵n行的累加和
{
int i,j,c=0
for(j=0j<5j++)
c+=a[n][j]
return c
}
int Sc(int a[3][5],int n)//求矩阵n列的累加和
{
int i ,j,c=0
for(i=0i<3i++)
c+=a[i][n]
return c
}
int main()
{
int i,j,a[3][5]={1,3,5,7,9,2,4,6,8,10,3,5,8,7,6}
for(i=0i<3i++){
for(j=0j<5j++)
printf("%d ",a[i][j])
printf("\n")
}
printf("各行的累加和为:\n")
for(i=0i<3i++)
printf("%d ",Sr(a,i))
printf("\n各列的累加和为:\n")
for(i=0i<5i++)
printf("%d ",Sc(a,i))
return 0
}
/*
输出:
1 3 5 7 9
2 4 6 8 10
3 5 8 7 6
各行的累加和为:
25 30 29
各列的累加和为:
6 12 19 22 25
*/
#include<stdio.h>
int main()
{
int a[3][4],b[3][4],c[3][4]
for(int i=0i<3i++)
for(int j=0j<4j++)
scanf("%d",&a[i][j])
printf("\n")
for(int i=0i<3i++)
for(int j=0j<4j++)
scanf("%d",&b[i][j])
printf("\n")
for(int i=0i<3i++)
for(int j=0j<4j++)
{
c[i][j]=a[i][j]+b[i][j]
printf("%d",c[i][j])
if(j!=3)
printf(" ")
else
printf("\n")
}
return 0
}