NOIP信息学奥赛资料下载
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 14132 通过数: 8147
【题目描述】
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
【输入】
第一行分别为矩阵的行数m和列数n(m<100,n<100),两者之间以一个空格分开。
接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。
【输出】
输出对应矩阵的边缘元素和。
【输入样例】
3 3
3 4 1
3 7 1
2 0 1
【输出样例】
15
【来源】
NO
代码如下:
#include<stdio.h>
//计算矩阵边缘元素之和
int main()
{
int i,j;
int sum=0;
int a[5][5];
//下面2个for循环依次为数组a[5][5]赋值
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
}
}
//此for循环求出最左边和最右边的元素之和
/*
a[0][0],a[0][4],
a[1][0],a[1][4],
...
a[4][0],a[4][4].
*/
for(i=0;i<5;i++)
{
sum=sum+a[i][0]+a[i][4];
}
//此for循环求出第一行和最后一行的中间的列的边上的值之和(累加前面的两列的和一起)
/*
a[0][1],a[4][1]
a[0][2],a[4][2]
a[0][3],a[4][3]
*/
for(j=1;j<4;j++)
{
sum=sum+a[0][j]+a[4][j];
}
//打印输出边缘元素之和sum
printf("%d\n",sum);
return 0;
}