m0_64892976 2021-12-20 15:23 采纳率: 88.9%
浏览 13
已结题

c语言二维数组的实验思路短了

img

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-12-20 16:36
    关注

    供参考:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #define N  5
    #define M  6
    int main()
    {
        int a[N][M], i, j, sum = 0, max, max_r, max_c;
        srand((unsigned int)time(NULL));
        for (i = 0; i < N; i++){
            for (j = 0; j < M; j++){
                a[i][j] = rand() % 100;
                printf("%4d", a[i][j]);
            }
            printf("\n");
        }
    
        max = a[0][0]; max_r = 0; max_c = 0;
        for (i = 0; i < N; i++) {
            for (j = 0; j < M; j++) {
                if (i == 0 || j == 0 || i == N - 1 || j == M - 1) {//周边元素之和
                    sum += a[i][j];
                }
                if (max < a[i][j]) {//最大值及下标
                    max = a[i][j];
                    max_r = i;
                    max_c = j;
                }
            }
        }
        printf("周边元素之和:%d ,最大值:a[%d][%d]=%d", sum, max_r, max_c, a[max_r][max_c]);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月28日
  • 已采纳回答 12月20日
  • 创建了问题 12月20日