2502 - 数组练习-4
首先从键盘输入两个正整数m和n(分别代表二维数组的行数和列数),接着输入m*n个整数(代表数组元素)。然后查找并输出数组元素中的最大值及其所在的行号和列号(行号和列号从0开始计数),输出的数据之间用空格分隔。
Input
4 4 89 20 92 20 26 40 88 39 34 98 99 67 23 87 0 42
Output
99 2 2
Examples
Input
3 4 87 10 79 32 58 94 49 4 18 58 66 84
Output
94 1 1
Solution C
#include<stdio.h> int main() { int a[100][100]; int m, n, i, j, k, f, t; scanf("%d%d", &m, &n); for(i=0; i<m; i++) { for(j=0; j<n; j++) { scanf("%d", &a[i][j]); } } for(i=0; i<m; i++) { for(j=0; j<n; j++) { if(a[i][j]>a[0][0]) { k=i; f=j; t = a[i][j]; a[i][j+1] = a[0][0]; a[0][0] = t; } } } printf("%d %d %d", a[0][0], k, f); return 0; }
Solution C++
#include"stdio.h" int main(){ int a[100][100]; int m,n; int i,j; int max=a[0][0]; int x,y; scanf("%d%d",&m,&n); for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",&a[i][j]); } } for (i=0;i<=m;i++) { for (j=0;j<=n;j++) { if(max<a[i][j]) { max=a[i][j]; x=i; y=j; } } } printf("%d %d %d",max,x,y); }