高分悬赏:Java语言怎么求一个矩阵的最外一圈的所有数字的和?

高分悬赏:Java语言怎么求一个矩阵的最外一圈的所有数字的和?

首先,定义二维数组 m*n
其次,确定最外一圈的元素下标的规律为,第一行、第一列、最后一行、最后一列;对应的规则是

for(int i=0;i<n;i++)
   sum+=a[0][i];//第一行
for(int i=0;i<n;i++)
   sum+=a[n-1][i];//最后一行
for(int i=0;i<m;i++)
  sum+=a[i][0];//第一列

for(int i=0;i<m;i++)
  sum+=a[n-1][0];//最后一列

//供参考
public class Test {
public static void main(String[] args) {

    //定义一个矩阵
    int[][] jz =  {{78,79,65,87},{45,85,62,95},{54,55,66,96},{45,85,62,20}};
    int addValue = 0;
    String str = "";
    for (int i=0;i<jz.length;i++){
        for (int j=0;j<jz[i].length;j++){
            if(i==0||i==jz.length-1){
                //累加第0行和最后一行
                str += (i==0&&j==0?"":"+")+jz[i][j];
                addValue += jz[i][j];
            }
            else if(j==0||j==jz[i].length-1){
                //累加非第0行和非最后一行的第0个元素和最后一个元素
                str += "+"+jz[i][j];
                addValue += jz[i][j];
            }
            System.out.print(jz[i][j]+" ");
        }
        System.out.println();
    }
    System.out.println("矩阵最外圈求和如下");
    System.out.println(str+"="+addValue);
}

}


#include #include #include using namespace std; int count=0; void countNum(int a[],int start,int finish) { //cout<finish) return ; if(a[middle]==2) { count++; countNum(a,start,middle-1); countNum(a,middle+1,finish); //cout<<"get here"<2) { countNum(a,start,middle-1); }else
{

countNum(a,middle+1,finish);

}
//return count; } int main() { int s[1000]; ifstream inf("1.txt"); int i=0;
while(!inf.eof())

{inf>>s[i];i++;} //int s[]={1,2,2,2,3}; int start=0;//,finish=NUM-1; countNum(s,start,i-1); cout<<count<<endl; }