[PTA]矩阵运算(C语言)
矩阵运算
给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。
输入格式:
输入第一行给出正整数n(1
输出格式:
在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。
输入样例:
4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 11
2
3
4
5
输出样例:
351
作者只是一个小白,目前才学习到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
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;
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
文章来源: blog.csdn.net,作者:键道万古如长夜,键来!,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_39666237/article/details/110941222