以下是一个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;
}