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


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

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 4 1 1 -1 
1 2

代码如下:

#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;
}


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3