1179 - C语言7.3
时间限制 : 1 秒
内存限制 : 32 MB
读入一个3×4的矩阵,求出矩阵中的最大值,并输出最大值所在的行号和列号。
题目输入
共有3行,每行有4个用空格隔开的整数,表示矩阵的具体内容。
题目输出
在一行内输出三个用空格隔开的整数,分别表示矩阵中的最大值、最大值所在的行号和最大值所在的列号。行号和列号均从0开始排列。
请注意行尾输出换行。
输入/输出样例
输入格式
1 2 3 4 9 8 7 6 -10 10 -5 2
输出格式
10 2 1
C语言解答
#include <stdio.h> int main() { int i, j, max, maxi, maxj; int val[3][4]; for (i = 0;i < 3;i++) { for (j = 0;j < 4;j++) { scanf("%d", &val[i][j]); } } for (i = 0;i < 3;i++) { for (j = 0;j < 4;j++) { if ((i == 0 && j == 0) || (val[i][j] > max)) { max = val[i][j]; maxi = i; maxj = j; } } } printf("%d %d %d\n", max, maxi, maxj); return 0; }
C++解答
#include <stdio.h> int main() { int i, j, max, maxi, maxj; int val[3][4]; for (i = 0;i < 3;i++) { for (j = 0;j < 4;j++) { scanf("%d", &val[i][j]); } } for (i = 0;i < 3;i++) { for (j = 0;j < 4;j++) { if ((i == 0 && j == 0) || (val[i][j] > max)) { max = val[i][j]; maxi = i; maxj = j; } } } printf("%d %d %d\n", max, maxi, maxj); return 0; }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { int arr[][]=new int [3][4]; Scanner cin = new Scanner(System.in); for( int i=0;i<3;i++ ) { for( int j= 0 ;j<4;j++ ) { arr[i][j]= cin.nextInt(); } } int max=arr[0][0] ,max_i=0,max_j=0; int i=0,j=0; for( i=0;i<3;i++ ) { for( j=0;j<4;j++ ) { if( arr[i][j] >max ) { max = arr[i][j]; max_i = i; max_j=j; } } } System.out.printf("%d %d %d\n",max,max_i,max_j); } }