1.输入20个数 4行5列的二维数组,求出它们列上的和,并显示出和最大列?

如题所述

以下是一个C语言程序,可以实现输入20个数,按照4行5列的顺序存储在二维数组中,并计算每列的和,找到和最大的列并显示出来:

#include <stdio.h>

int main() {

int data[4][5];  // 定义4行5列的二维数组,用来存储输入的数据

int col_sum[5] = {0};  // 定义一个一维数组,用来存储每列的和,并初始化为0

int max_col_index = 0;  // 定义一个变量,用来记录所有列中和最大的那一列的索引

int max_col_sum = 0;  // 定义一个变量,用来记录所有列中和最大的那一列的和

// 输入20个数,构造4行5列的二维数组

printf("请输入20个数字,按照4行5列的方式:\n");

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 5; j++) {

scanf("%d", &data[i][j]);

col_sum[j] += data[i][j];  // 每次输入一个数时,累加对应列的和

}

}

// 找出所有列中和最大的那一列

for (int j = 0; j < 5; j++) {

if (col_sum[j] > max_col_sum) {

max_col_index = j;

max_col_sum = col_sum[j];

}

}

// 输出每列的和,并在和最大的那一列后面额外输出该列的数值

printf("各列的和为:\n");

for (int j = 0; j < 5; j++) {

printf("%d ", col_sum[j]);

if (j == max_col_index) {

printf("(最大值: ");

for (int i = 0; i < 4; i++) {

printf("%d ", data[i][j]);

}

printf(")");

}

printf("\n");

}

return 0;

}

温馨提示:答案为网友推荐,仅供参考
相似回答