矩阵中最大的两个数
来源:互联网 发布:监控软件慧眼下载 编辑:程序博客网 时间:2024/06/16 03:27
- 题目描述:
输入一个四行五列的矩阵,找出每列最大的两个数。
- 输入:
输入第一行包括一个整数n(1<=n<=1000),接下来的四行每行包括五个整数。代表一个四行五列的矩阵,矩阵元素全部是整数。
- 输出:
可能有多组测试数据,对于每组数据,按照样例输出的格式将每列最大的两个数输出,如果最大的两个数中的一个数在这一列中有多个相同的值,则行值取行值小的那一个。
输出时要保留原矩阵的行列顺序,即在原矩阵中行值小的,在输出矩阵中的行值依然小。
- 样例输入:
11 2 4 9 8-1 4 9 8 812 9 8 7 07 8 9 7 0
- 样例输出:
12 9 9 9 8 7 8 9 8 8
- 提示:
每个数字后面都要输出一个空格
- 来源:
- 2005年华中科技大学计算机保研机试真题
#include<stdio.h>#include<limits.h>struct E{ int num; int row;};int main(){ int n,j,i; E a[4][5]; E b[2][5]; E temp; while(scanf("%d",&n)!=EOF) { for(i=0; i<4; i++) { for(j=0; j<5; j++) { scanf("%d",&a[i][j].num); a[i][j].row=i; } } for(j=0; j<5; j++) //找粗最大的两个数 { b[0][j].num=INT_MIN; b[1][j].num=INT_MIN; for(i=0; i<4; i++) { if(a[i][j].num>b[0][j].num) { b[0][j]=a[i][j]; } } for(i=0; i<4; i++) { if(b[0][j].row!=a[i][j].row&&a[i][j].num>b[1][j].num) { b[1][j]=a[i][j]; } } } for(j=0; j<5; j++) //按行号小的在前 { if(b[0][j].row>b[1][j].row) { temp=b[1][j]; b[1][j]=b[0][j]; b[0][j]=temp; } } for(i=0; i<2; i++) { for(j=0; j<5; j++) { printf("%d ",b[i][j].num); } printf("\n"); } } return 0;}
阅读全文
0 0
- 矩阵中最大的两个数
- 两个数中显示最大的数
- 两个数中显示最大的
- 三个数中取出最大的两个
- 最大的两个数
- 20.找出矩阵中最大的数存入数组中
- problem 11 矩阵中连续四个数的最大积
- 1200 最大的两个数
- 两个数的最大公倍数
- 两个数的最大公倍数
- C++:求10个数中最大的两个数
- 选择数组中最大或者最小的两个数
- 在一个数组中找到最大的两个数
- 从数组中找出最大的前两个数
- 利用分治法求一组数据中最大的两个数和最小的两个数
- 冒泡排序和查找数组中最大的数及查找两个数中最大的数
- 判断三个数中最大的数是否小于其它两个数之和
- 判断两个数值中最大的一个以及不用中间变量交换两个数
- HQL查询-分页-条件-连接-过滤使用
- Java中Volatile关键字详解
- android EditText长度监听
- CF825D:Suitable Replacement(字符串)
- 第五章 代数方程求解 和其它符号工具
- 矩阵中最大的两个数
- JMS--java消息中间件(一)
- 快速排序 C++实现
- wampserver apache 500 Internal Server Error(常见问题的解决办法)
- 如何使用apoc 从neo4j导出数据,gephi导入数据
- Jxl导出excel开发实例
- java编写飞行棋
- Paint的setShadowLayer参数说明及使用
- Windows Message Queue