[PTA]矩阵运算(C语言)

矩阵运算

给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。

输入格式:

输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

输入样例:

4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1

输出样例:

35

作者只是一个小白,目前才学习到for循环,这是我用自己已学知识解出来的题目。
题目给出一个整数n,然后输入一个n*n的矩形,然后求和。
这个矩形我们可以通过两个for循环来实现,第一个for循环
for (i = 1; i <= n; i++)代表的是行,它会在第n行的时候跳出循环。
第二个for循环
for (l = 1; l <= n; l++)代表的是每一行的数值,它会在每行输入的第n个数值后跳出循环,也就是象征着列。
矩阵有了,然后就是求和,在我的双for循环中,每输入一个数值,就会记录入我的数值和s中,题目要求了在这个矩阵中,最后一列和最后一行还有副对角线不计入和中,那么,我们就设一个if()进行条件筛选,满足(i = = n)最后一行,(l = = n)最后一列,(l = = n - i + 1)副对角线这三个条件的将不会进行操作,反之,不满足这三个条件的则计入数值和s中,最后在双for循环外,输出整数s。

#include <stdio.h>

int main()
{
	int n, i, l, m, s=0;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		for (l = 1; l <= n; l++)
		{
			scanf("%d ", &m);
			if (l == n || l == n - i + 1||i==n)
            {
                
            }
			else
				s = s + m;
		}
	}
	printf("%d",s);
	return 0;
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐