Problem B
来源:互联网 发布:数据透视图去掉汇总行 编辑:程序博客网 时间:2024/06/08 15:33
题目描述
请写一个程序,对于一个m行m列的(1<m<10)的方阵,求其每一行,每一列及主对角线元素之和,最后按照从大到小的顺序依次输出。
输入
共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。
输出
从大到小排列的一行整数,每个整数后跟一个空格,最后换行。
样例输入
415 8 -2 631 24 18 71-3 -9 27 1317 21 38 69
样例输出
159 145 144 135 81 60 44 32 28 27
提示
#include <cstdio>#include <algorithm>using namespace std;const int maxn=15;int a[maxn][maxn];int b[25]={0};bool cmp(int a,int b){ return a>b;}int main(){ int m,first=1; while(scanf("%d",&m)==1){ for(int i=0;i<m;i++) for(int j=0;j<m;j++) scanf("%d",&a[i][j]); int cnt=0; for(int i=0;i<m;i++){ int sum=0; for(int j=0;j<m;j++) sum+=a[i][j]; b[cnt++]=sum; } for(int j=0;j<m;j++){ int sum=0; for(int i=0;i<m;i++) sum+=a[i][j]; b[cnt++]=sum; } int s1=0; for(int i=0;i<m;i++) s1+=a[i][i]; b[cnt++]=s1; int s2=0; for(int i=0;i<m;i++) s2+=a[i][m-1-i]; b[cnt++]=s2; sort(b,b+cnt,cmp); for(int i=0;i<cnt;i++) printf("%d ",b[i]); printf("\n"); } return 0;}
阅读全文
0 0
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem B
- Problem b
- Problem B
- Problem B
- Problem-B
- Problem B
- Problem B
- Problem-B
- Problem B
- 关于Expression.Equal方法的使用
- 线程安全的实现方法
- oracle 下载地址
- RF+Appium 压力测试:安装卸载和升降级测试
- Configuring HiveServer2 for CDH
- Problem B
- 基础回顾——Java对象创建、内存分配、访问定位概述
- 第十八章——触摸事件和UIResponder
- 【转】React Native 中组件的生命周期
- 关于linux下互斥锁和条件变量的理解
- go语言获取新浪Cookie
- Arpa's weak amphitheater and Mehrdad's valuable Hoses
- sql中drop、truncate和delete的区别
- openCv+Java实现人脸剪切