୧⍤⃝思雨. 2022-11-11 16:11 采纳率: 0%
浏览 22

求数组中最大元素只和

  1. 创建一个 4*4 的数组,提示从键盘依次输入数组的各元素,之后求该数组所有元素之和、
    对角线元素之和,以及最大元素,最后输出该数组(按 4 行 4 列的分布)、所有元素之
    和、对角线元素之和,以及最大元素。(提示:可以使用两层 for 循环嵌套实现)
  • 写回答

3条回答 默认 最新

  • 谢玄. 2022-11-11 16:54
    关注

    代码如下:

    #include<stdio.h>
    
    int main() {
        int list[4][4] = {0};
        printf("请输入4*4的数字,同一排的每个数字用空格隔开:\n");
        // 循环输入
        for ( int i = 0 ; i < 4 ; i++ ) {
            for ( int j = 0 ; j < 4; j++ ) {
                scanf("%d", &list[i][j]);
            }
        }
        // 令最大值为第一个数
        int max = list[0][0];
        // 和为0
        int area = 0;
        // 对角线和为0
        int diagonal = 0;
        // 循环遍历并打印
        for ( int i = 0 ; i < 4 ; i++ ) {
            for ( int j = 0 ; j < 4 ; j++ ) {
                // 打印数字
                printf("%d ",list[i][j]);
                // 总和加上这个数字
                area += list[i][j];
                // 如果这个数大于已知最大数 最大数就等于这个数
                if ( list[i][j] > max ) {
                    max = list[i][j];
                }
                // 如果是对角线 对角线和就加上这个数
                if ( i - j == 0 || i + j == 3 ) {
                    diagonal += list[i][j];
                }
            }
            // 遍历完一排了 打印回车
            printf("\n");
        }
        // 打印别的
        printf("最大的数是 :%d\n", max);
        printf("总和是 :%d\n", area);
        printf("对角线和是 : %d\n", diagonal);
    
    }
    
    
    1 2 3 4
    5 6 7 8
    8 7 6 5
    4 3 2 1
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月11日