C语言求矩阵的各列元素之和的代码示例

时间:2021-10-09 21:48:36

问题描述:
统计一个矩阵的各列元素之和。矩阵各元素为整数且绝对值不超过100。
要求输入:
有多个测试用例,每个测试用例的第一行是空格分隔的两个正整数n和m( 1 < n, m < 80 ),接下来的n行每行有m个空格分隔的整数,组成一个n*m的矩阵。最后一个测试用例n=0 m=0不用处理。
要求输出:
对每个测试用例,输出一行整数(空格分隔),顺序表示从第1列至第m列的各列元素之和。
输入示例

?
1
2
3
4
5
6
7
8
3 5
1 1 1 2 -1
0 1 0 7 4
0 2 0 -8 -4
2 2
1 1
0 1
0 0

输出示例:

?
1
2
1 4 1 1 -1
1 2

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<iostream>
using namespace std;
 
void show(int a[][100],int m,int n)
{
  int sum=0,i,j;
  for(i=0;i<n;i++)
  {
    for(j=0;j<m;j++)
    {
      sum=sum+a[j][i];
    }
    cout<<sum<<" ";
    sum=0;
  }
  cout<<endl;
}
 
int main()
{
  int i,j,m,n,a[100][100];
  cin>>m>>n;
  while(m!=0 && n!=0)
  {
    for(i=0;i<m;i++)
    for (j=0;j<n;j++)
    {
      cin>>a[i][j];
    }
    show(a,m,n);
    cin>>m>>n;
  }  
  return 0;
}