华科机考:矩阵最大值

时间限制:1秒空间限制:32768K

 题目描述

编写一个程序输入一个mXn的矩阵存储并输出,并且求出每行的最大值和每行的总和。要求把每行总和放入每行最大值的位置,如果有多个最大值,取下标值最小的那一个作为最大值。 最后将结果矩阵输出。

输入描述: 输入的第一行包括两个整数m和n(1<=m,n<=100),分别代表矩阵的行和列的维数。 接下来的m行每行有n个数,代表矩阵的元素。

输出描述: 可能有多组测试数据,对于每组数据,输出按题目要求执行后的矩阵。

输入例子: 3 3

              1 1 1

              1 1 1

              1 1 1

              3 3

              3 2 3

              2 3 2

              3 2 3

输出例子: 3 1 1

              3 1 1

              3 1 1

              8 2 3

              2 7 2

              8 2 3

思路:这个真的没啥好说的

代码:

#include <iostream>

using namespace std;

int a[110][110];
int main(){
   int m,n,sum,tmp,maxl;
    while(cin>>m>>n){
     for(int i=0;i<m;i++){
       sum=0,maxl=-99999999;
       for(int j=0;j<n;j++){
         cin>>a[i][j];
         if(a[i][j]>maxl){
          maxl=a[i][j];
          tmp=j;
         }
         sum=sum+a[i][j];
       }
       a[i][tmp]=sum;
     }
     for(int i=0;i<m;i++){
       cout<<a[i][0];
       for(int j=1;j<n;j++)
         cout<<" "<<a[i][j];
     cout<<endl;
     }
    }
   return 0;
}
原文地址:https://www.cnblogs.com/mlgjb/p/6681402.html