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定死为0
int 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;
}
12-01
430
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-25
921
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交