描述
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。输入第一行分别为矩阵的行数 m和列数n(m<100,n<100),两者之间以一个空格分开。接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。输出对应矩阵的边缘元素和
样例输入
3 3 3 4 1 3 7 1 2 0 1
样例输出
15
题目分析:
1、通过键盘获取数组的行数和列数
2、根据行数和列数,利用scanf函数,通过两个for循环,获取二维数组的数据
3、判断第一行、第一列、最后一行、最后一列的,并把值相加
代码演示:
#include <stdio.h>
int main(int argc, char** argv)
{
int a[256][256];//定义一个二维数组
int i,j,n,m,sum=0;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)//行数
{
for(j=0;j<m;j++)//列数
{
scanf("%d",&a[i][j]);//往数组填充数据
if((i==0)||(i==n-1)||(j==0)||(j==m-1))//判断是否是第一行或第一列或最后一行或最后一列
{
sum+=a[i][j];
}
}
}
printf("%d\n",sum);
return 0;
}
总结:
1、scanf函数输入
2、使用两个for循环创建二维函数
3、二维数组的赋值&a[i][j];
4、“或”逻辑判断