用第一列的总和初始化一个变量
Initialize a variable with the sum of the first column
我制作了一个程序,它从二维数组中找到具有最小总和的列。
为了计算它,我启动了 lowestSum
函数的 min
变量。
目的
我试图用第一列的总和来初始化 min
变量,而不是给出一个特定的数字。到目前为止,我只提供了一个特定的数字就可以了。请看下面的代码:
因此,它应该如何存储第一列的总和,然后与其他列进行检查,最终找到具有最小值和的列?现在它只能通过专门提供 min
来工作。
#include<stdio.h>
#define ROWS 4
#define COLS 3
void printnumbers(int arr[][COLS]);
int lowestSum(int MovieRatings[][COLS]);
int main() {
int arr[ROWS][COLS] = {{1, 2, 3},
{2, 3, 4},
{3, 4, 5},
{5, 15, 6}};
printnumbers(arr);
printf("the lowest sum is in column %d\n", lowestSum(arr));
return 0;
}
void printnumbers(int arr[][COLS]){
int i,j;
for(i = 0; i<ROWS; i++)
{
printf("\n");
for(j = 0; j<COLS; j++)
{
printf("%d\t", arr[i][j]);
}
}
}
int lowestSum(int arr[][COLS]){
int i, j, total, min,min_col;
min = 20; //<------this is is intialization
for (j = 0; j < COLS; j++) {
total = 0;
for (i = 0; i < ROWS; i++) {
total += arr[i][j];
}
if (min > total) {
min = total;
min_col = j+1;
printf("\n");
}
}
return min_col;
}
在对第一列求和后,该列暂时具有最小的总和。因此,如果您处于外循环的第一次迭代中,请设置 min
.
if (j == 0 || min > total) {
min = total;
min_col = j+1;
printf("\n");
}
我制作了一个程序,它从二维数组中找到具有最小总和的列。
为了计算它,我启动了 lowestSum
函数的 min
变量。
目的
我试图用第一列的总和来初始化 min
变量,而不是给出一个特定的数字。到目前为止,我只提供了一个特定的数字就可以了。请看下面的代码:
因此,它应该如何存储第一列的总和,然后与其他列进行检查,最终找到具有最小值和的列?现在它只能通过专门提供 min
来工作。
#include<stdio.h>
#define ROWS 4
#define COLS 3
void printnumbers(int arr[][COLS]);
int lowestSum(int MovieRatings[][COLS]);
int main() {
int arr[ROWS][COLS] = {{1, 2, 3},
{2, 3, 4},
{3, 4, 5},
{5, 15, 6}};
printnumbers(arr);
printf("the lowest sum is in column %d\n", lowestSum(arr));
return 0;
}
void printnumbers(int arr[][COLS]){
int i,j;
for(i = 0; i<ROWS; i++)
{
printf("\n");
for(j = 0; j<COLS; j++)
{
printf("%d\t", arr[i][j]);
}
}
}
int lowestSum(int arr[][COLS]){
int i, j, total, min,min_col;
min = 20; //<------this is is intialization
for (j = 0; j < COLS; j++) {
total = 0;
for (i = 0; i < ROWS; i++) {
total += arr[i][j];
}
if (min > total) {
min = total;
min_col = j+1;
printf("\n");
}
}
return min_col;
}
在对第一列求和后,该列暂时具有最小的总和。因此,如果您处于外循环的第一次迭代中,请设置 min
.
if (j == 0 || min > total) {
min = total;
min_col = j+1;
printf("\n");
}