void count_sum(int sum[])
{int i;printf("每行相加的情况如下\n");for (i = 0;i < 5; i++){printf("%d ", sum[i]);}printf("\n");
}
void test(int arr[5][4])
{int i, j;srand((unsigned)time(NULL));//添加这个可以每次不同的随机数,rand只是仿随机数for (i = 0; i < 5; i++){for (j = 0; j < 4; j++){arr[i][j] = rand() % 100;//随机生成0-99的100以内的数}}printf("随机生成数值完毕\n");
}
void test2(int arr[5][4])
{int i, j, count[5] = { 0 };for (i = 0; i < 5; i++){for (j = 0; j < 4; j++){count[i] += arr[i][j];//把每一行的数值相加}}count_sum(count);int Max = 0;for (i = 0; i < 5; i++){if (count[Max] < count[i]){Max = i;//为的是找出最大值的i在那行,而不是存储最大值的数值}}for (j = 0; j < 4; j++){//最大值的那行和第一行进行交换,相当于把第一行的arr[0][j]的i定死为0int temp = arr[0][j];arr[0][j] = arr[Max][j];arr[Max][j] = temp;}
}
int main()
{int i, j, arr[5][4] = { 0 };test(arr);printf("交换前\n");for (i = 0; i < 5; i++){for (j = 0; j < 4; j++){printf("%d ", arr[i][j]);}printf("\n");}printf("\n");test2(arr);printf("交换后\n");for (i = 0; i < 5; i++){for (j = 0; j < 4; j++){printf("%d ", arr[i][j]);}printf("\n");}return 0;
}
