二维整型数组的“最大点”.c 902 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include <stdio.h>
  2. int main() {
  3. int n, m;
  4. int i,j;
  5. scanf("%d %d", &n, &m);
  6. int arr[10][10];
  7. // 读取二维数组元素
  8. for (i = 0; i < n; i++) {
  9. for (j = 0; j < m; j++) {
  10. scanf("%d", &arr[i][j]);
  11. }
  12. }
  13. // 查找每行最大值和每列最大值
  14. int row_max[10] = {0};
  15. int col_max[10] = {0};
  16. for (i = 0; i < n; i++) {
  17. for (j = 0; j < m; j++) {
  18. if (arr[i][j] > row_max[i]) {
  19. row_max[i] = arr[i][j];
  20. }
  21. if (arr[i][j] > col_max[j]) {
  22. col_max[j] = arr[i][j];
  23. }
  24. }
  25. }
  26. // 输出"最大点"
  27. for (i = 0; i < n; i++) {
  28. for (j = 0; j < m; j++) {
  29. if (arr[i][j] == row_max[i] && arr[i][j] == col_max[j]) {
  30. printf("%d %d %d\n", arr[i][j], i + 1, j + 1); // 注意行列从1开始计数
  31. }
  32. }
  33. }
  34. return 0;
  35. }