求一个4×4的整型二维数组主对角线元素之和

谁帮忙写下,考试题。谢谢。... 谁帮忙写下,考试题。谢谢。 展开
 我来答
MyOpen
2019-05-20 · TA获得超过2861个赞
知道答主
回答量:68
采纳率:0%
帮助的人:4万
展开全部

下面是Java语言编写一个计算4*4整型数组对角线元素和的代码:

import java.util.Scanner;

public class 2DArrayPractice {

public static void main(String[] args) {

// TODO Auto-generated method stub

/*

* 请输入任意一个4*4的矩阵,计算出左右对角线上的元素之和

*/

int[][] array = new int[4][4];

Scanner scan = new Scanner(System.in);

for(int i = 0; i < array.length; i++){

for(int j = 0; j < array[i].length; j++){

System.out.println("请输入第"+(i+1)+"行第"+(j+1)+"列上的元素:");

array[i][j] = scan.nextInt();

}

}

int total = 0;//作为最后存放结构的变量

for(int i = 0; i < array.length; i++){

for(int j = 0; j < array[i].length; j++){

//左对角元素      右对角元素

if(i == j || i +j == 3){

total += array[i][j];

}

}

}

}

}

执行结果(执行的时候需要输入4*4的数组):

扩展资料:

Java中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。

Java 并不直接支持二维数组,但是允许定义数组元素是一维数组的一维数组,以达到同样的效果。声明二维数组的语法如下:

type array[][];type[][] array;

其中,type 表示二维数组的类型,array 表示数组名称,第一个中括号表示行,第二个中括号表示列。

下面分别声明 int 类型和 char 类型的数组,代码如下:

int[][] age; char[][] sex;

二维数组可以初始化,和一维数组一样,可以通过3种方式来指定元素的初始值。

这 3 种方式的语法如下:

array=new type[][]{值 1,值 2,值 3,…,值 n};

array=new type[][]{new 构造方法(参数列),…};

type[][] array={{第1行第1列的值,第1行第2列的值,…},{第2行第1列的值,第2行第2列的值,…},…};

kong_loli
推荐于2018-02-28 · TA获得超过325个赞
知道小有建树答主
回答量:107
采纳率:100%
帮助的人:0
展开全部
#include <stdio.h>
int main()
{
double a[5][5];
int i,j;
double sum=0;

printf("请输入该 4*4 矩阵\n");
for (i=1;i<=4;i++)
for (j=1;j<=4;j++)
{
scanf("%lf",&a[i][j]);
}
for (i=1;i<=4;i++)
{
sum+=a[i][i]+a[i][5-i];
}
printf("%lf\n",sum);

}
主对角线 就是 两条吧~~
数据时用double类型的,如果 是整型 的你用 int替代就是了~~
LZ 给分吧~~
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
什么问都想问
2010-09-16 · TA获得超过5077个赞
知道小有建树答主
回答量:880
采纳率:0%
帮助的人:1613万
展开全部
#include stdio.h
int main()
{
int i,j,sum=0;
int arr[5][5];
printf("请输入数组元素的值:\n");
for(i=0;i5;i++)
{
for(j=0;j5;j++)
{
scanf("%d",*(arr+i)+j);
}
}
for(i=0;i5;i++)
{
for(j=0;j5;j++)
{
if(i==j) sum+=*(*(arr+i)+j);
if(i+j==4) sum+=*(*(arr+i)+j);
}
}
printf("对角线的和为:%d",sum-*(*(arr+2)+2));
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小样_yx
2020-02-21
知道答主
回答量:3
采纳率:0%
帮助的人:1632
展开全部
import java.util.Scanner;

/**
* @author Administrator
*矩阵求和
*/
public class _02juzhenSum {
/*
* 读入一个n*n矩阵,输出它的主对角线之和
*/
public static void main(String[] args) {
int sum;
Scanner sc = new Scanner(System.in);
System.out.println("请输入矩阵的阶数:");
int n = sc.nextInt();
int[][] array = new int[n][n];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
System.out.println("请输入第 " + (i +1) + " 行"+ ",第 "+(j+1)+" 列的值:");
array[i][j] = sc.nextInt();
}
}
sum = 0;
//求主对角线之和
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
if (i == j) {
sum += array[i][j];
}
}
}
System.out.println("主对角线之和为:" + sum);

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YaChin
2010-09-02 · TA获得超过134个赞
知道答主
回答量:13
采纳率:100%
帮助的人:9.2万
展开全部
int sum=0,i;
for(i=0;i<4;i++)
sum+=a[i][i];
其中a为数组名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式