求数组中最大元素只和

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

代码如下:

#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

上面的大哥我我快,我要求不高,有用给我回一个谢谢。


#include<stdio.h>

void main(){
    int i,j;
    int sum=0;
    int sum1=0;
    int max=0;
    int temp=0;
    int arr[4][4];//定义数组 
    for(i=0;i<4;i++){//循环输入
        for(j=0;j<4;j++){
            printf("请输入第 %d 行的第 %d 列:",i+1,j+1);
            scanf("%d",&arr[i][j]); 
        }
    }
    
    //遍历读取每一个数 
    for(i=0;i<4;i++){
        for(j=0;j<4;j++){
            printf("%d ",arr[i][j]);//取出每一个数 
            sum += arr[i][j];//相加 
            //对角线和 
            if(i==j || i==3-j){
                sum1 += arr[i][j];
            }
                //找最大数 
            if(arr[i][j] > max){
                max = arr[i][j];
            }    
        }
        printf("\n");
    } 
    printf("sum = %d\nsum1= %d\nmax=%d",sum,sum1,max);  
}

img