二维数组与矩阵结合C语言

发布时间:2024年01月03日

? ? 今天复习到二维数组,感觉这道题很典型所以拿来和大家分享分享。

? ? 从键盘上输入矩阵的阶数n(n<=14),?矩阵中元素的值等于其位置的行数和列数之和的n倍(行列的值从0开始计数),如n=3时,矩阵为
????????0???3???6
????????3???6???9
????????6???9???12
  先输出该矩阵(显示时每个数宽度为4、右对齐),然后计算输出sum1和sum2的值:sum1为矩阵中所有不靠边元素之和、sum2为矩阵的一条对角线元素之和。

?

?

?以下是题解:

#include <stdio.h>

int main()
{
	int i, j, n, sum1 = 0, sum2 = 0;
	int array[15][15];//定义一个二维数组 

	printf("Input:\nPlease Enter n:\n");
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < n; j++)
		{
			array[i][j] = (i + j) * n;//矩阵中每位数的大小 
		}
	}

	for (i = 1; i < n - 1; i++)//i和j从1开始,因为sum1为矩阵中所有不靠边元素之和 
	{
		for (j = 1; j < n - 1; j++)
		{
			sum1 += array[i][j];
		}
	}
	for (i = 0; i < n; i++)//sum2为矩阵的一条对角线元素之和
	{
		sum2 += array[i][i];
	}
	printf("Output:\n");
	for (i = 0; i < n; i++)//for的二重循环,打印出矩形的模型。 
	{
		for (j = 0; j < n; j++)
		{
			printf("%4d", array[i][j]);
		}
		printf("\n");
	}
	printf("sum1=%d\nsum2=%d\n", sum1, sum2);
	return 0;
} 

?在这里建议大家for 分开写,避免绕晕了。

让后呢,如果有小伙伴对二重for循环这种不是挺了解,我收集了一些大佬整理的很好的在下面,需要的伙伴们可以去看看,或许对你有帮助。

https://blog.csdn.net/weixin_73889628/article/details/130346271

https://blog.csdn.net/wounler/article/details/117817554

文章来源:https://blog.csdn.net/cdxgwhj/article/details/135350036
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。