C语言程序设计 9.37 调用随机函数为5x4的矩阵置 100以内的整数,输出该矩阵,求出每行元素之和,并把和的最大的那一行与第一行的元素对调

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;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值