zoukankan      html  css  js  c++  java
  • 计算矩阵边缘元素之和

    #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
    ",sum);
    	return 0;
    }

    或者用下面的两层for循环求边缘元素之和:

    for(i=0;i<5;i++)
    {
      for(j=0;j<5;j++)
      {
         if(i==0||i==4||j==4||j==0) 
        {
          sum+=a[i][j];
        }
      }
    }
    分析:i==0时,都满足了,不用看后面的,这样就把第一行的值之和计算出来了。

    i==1,2,3时。仅仅能看后面的j的变量是多少,仅仅有j==0或者j==4时,才干把元素累加到sum中。这样就把最左最右的两列的除了第一行和最后一行的那些边缘元素之和 累加到sum中了 i=4时,也不用看后面的j的变量值是多少了。也就把最后一行的值累加到sum中了。

    这样就把矩阵边缘元素之和求出来了!



  • 相关阅读:
    android自定义通知栏遇到的问题
    写博客号的初衷
    模型转换遇关键字
    界面传值的四种方式
    button循环添加事件
    解析数据的步骤
    数组排序 (数组是有序容器,因此集合中只有数组才能排序。)
    集合遍历
    自定义view和自定义cell
    cell自适应高度
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6855797.html
Copyright © 2011-2022 走看看