2009西电计算机研究生复试上机题
来源:互联网 发布:电脑ps软件 编辑:程序博客网 时间:2024/04/29 00:38
题目描述
请写一个程序,对于一个m行m列的(1<m<10)的方阵,求其每一行,每一列及主对角线元素之和,最后按照从大到小的顺序依次输出。
输入
共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。
输出
从大到小排列的一行整数,每个整数后跟一个空格,最后换行。
样例输入
4
15 8 -2 6
31 24 18 71
-3 -9 27 13
17 21 38 69
样例输出
159 145 144 135 81 60 44 32 28 27
提示 [+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
来源
2009年西电计算机研究生复试上机题
/********************************* * 日期:2013-3-8 * 作者:SJF0115 * 题号: 天勤OJ 题目1215: Problem B * 来源:http://acmclub.com/problem.php?id=1215 * 结果:AC * 来源:2009年西电计算机研究生复试上机题 * 总结: **********************************/ #include<stdio.h>#include<stdlib.h>#include<string.h>int Matrix[10][10];//排序函数int cmp(const void *a,const void *b){return *(int *)b - *(int *)a;}int main(){int i,j,M;int Sum[50];while(scanf("%d",&M) != EOF){memset(Sum,0,sizeof(Sum));for(i = 0;i < M;i++){for(j = 0;j < M;j++){//输入数据scanf("%d",&Matrix[i][j]);}}int index = 0;//每一行的和for(i = 0;i < M;i++){for(j = 0;j < M;j++){Sum[index] += Matrix[i][j];}index++;}//每一列的和for(i = 0;i < M;i++){for(j = 0;j < M;j++){Sum[index] += Matrix[j][i];}index++;}//主对角线的和for(i = 0;i < M;i++){Sum[index] += Matrix[i][i];}index++;//次对角线的和for(i = 0;i < M;i++){Sum[index] += Matrix[i][M-i-1];}//排序qsort(Sum,2*M+2,sizeof(Sum[0]),cmp);//输出for(i = 0;i <= 2*M+1;i++){printf("%d",Sum[i]);if(i == 2*M+1){printf("\n");}else{printf(" ");}}}return 0;}
/********************************* * 日期:2013-3-8 * 作者:SJF0115 * 题号: 天勤OJ 题目1215: Problem B * 来源:http://acmclub.com/problem.php?id=1215 * 结果:AC * 来源:2009年西电计算机研究生复试上机题 * 总结: **********************************/ #include<stdio.h>#include<stdlib.h>int Matrix[10][10];//排序函数int cmp(const void *a,const void *b){return *(int *)b -*(int *)a;}int main(){int i,j,M;while(scanf("%d",&M) != EOF){//Sum[0 - M-1] 1 - M行 每行的和//Sum[M-1 - 2M-1] 1 - M列 每列的和//Sum[2M] 主对角线的和//Sum[2M+1] 次对角线的和int Sum[22] = {0};for(i = 0;i < M;i++){for(j = 0;j < M;j++){//输入数据scanf("%d",&Matrix[i][j]);//每一行Sum[i] += Matrix[i][j];//每一列Sum[j + M] += Matrix[i][j];//主对角线if(i == j){Sum[2*M] += Matrix[i][j];}//次对角线if(i + j == M-1){Sum[2*M+1] += Matrix[i][j]; }}}//排序qsort(Sum,2*M+2,sizeof(int),cmp);//输出for(i = 0;i <= 2*M+1;i++){printf("%d",Sum[i]);if(i == 2*M+1){printf("\n");}else{printf(" ");}}}return 0;}
每个整数(除最后一个)后跟一个空格,最后一个整数换行。
本题多组测试用数据。
- 西电计算机研究生复试上机题
- 2009西电计算机研究生复试上机题
- 2009西电计算机研究生复试上机题(2)
- 2009年西电计算机研究生复试上机题(3)
- 2009年西电计算机研究生复试上机题(4)
- 浙大计算机研究生复试上机考试-2009年
- 浙大计算机研究生复试上机考试-2009年
- 北理工2012年计算机研究生复试上机题
- 杭电计算机研究生复试2015年第二题
- 北航计算机复试上机题(2009)
- 算法之美——浙大计算机研究生复试上机考试-2009年
- 浙大计算机研究生复试上机考试-2010年
- 浙大计算机研究生复试上机考试-2005年-A+B
- 浙大计算机研究生复试上机考试-2010年 .
- 北京理工大学计算机专业研究生复试上机试题(2000-2011)
- 浙大计算机研究生复试上机考试-2010年
- hdu1879浙大计算机研究生复试上机(2008)继续畅通工程
- 2000年北京理工大学计算机专业研究生复试上机试题
- boa并发性的理解
- 从挖坑填数和分治法来诠释快速排序
- 项目总结(五):做拨号项目,暴露我的不足
- Singular和SciTE的结合
- jbpm4.4工作流引擎视频教程(02)
- 2009西电计算机研究生复试上机题
- 当了两天向导,带他进行了上海都市游543
- 【黑马程序员】面向对象(一) 第五天
- 朋友早早就拟好了路线700
- C++学习笔记5——语句
- [Leetcode] Remove Nth Node From End of List
- 二叉树inorder iterator的跌代器
- 给一个单向链表,随机选择一个node in one pass
- 关于运算符重载(总结)