求一个n阶方阵对角线元素之和。

本文介绍了一个Java程序,该程序通过用户输入来创建一个n阶方阵,并计算并输出该矩阵的主对角线和副对角线元素之和。
import java.util.*;
public class Test4 {
	public static void main(String args[]) {
		System.out.print("请输入阶数n:");
		Scanner input = new Scanner(System.in);
		int n=input.nextInt();
		int num[][]= new int[n][n];
		
		System.out.println("请输入"+n+"阶方阵");
		int sum1=0,sum2=0;  //存两对角线的和
		for(int i=0;i<n;i++) {
			for(int j=0;j<n;j++)
			{
				num[i][j] = input.nextInt();
				if(i==j)
					sum1+=num[i][j]; //主对角线元素累加
				   if(i+j==n-1)  
	                    sum2=sum2+num[i][j]; // 副对角线元素累加
			}
	}
	System.out.println("主对角线之和"+sum1);
	System.out.println("副对角线之和"+sum2);
	}
}





在C语言中,计算一个给定大小n方阵(二维数组)的对角线对角线之和,你可以创建两个变量分别用于存储这些值。对角线是从左上到右下的对角线,而对角线是从右上到左下的对角线。 以下是一个简单的示例,假设我们有一个名为`matrix`的n x n的二维整型数组: ```c #include <stdio.h> // 假设matrix[n][n]是你的n方阵 int main_diagonal_sum(int matrix[][n], int n) { int sum = 0; for (int i = 0; i < n; i++) { sum += matrix[i][i]; } return sum; } int secondary_diagonal_sum(int matrix[][n], int n) { int sum = 0; for (int i = 0; i < n; i++) { sum += matrix[i][n - 1 - i]; // 注意索引从0开始,所以这里是矩阵的右上方元素 } return sum; } int main() { int n, element; printf("Enter the size of the matrix: "); scanf("%d", &n); int matrix[n][n]; printf("Enter the elements of the matrix:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &element); matrix[i][j] = element; } } int main_diag_sum = main_diagonal_sum(matrix, n); int sec_diag_sum = secondary_diagonal_sum(matrix, n); printf("Sum of the main diagonal: %d\n", main_diag_sum); printf("Sum of the secondary diagonal: %d\n", sec_diag_sum); return 0; } ``` 在这个程序中,`main_diagonal_sum`和`secondary_diagonal_sum`函数分别计算了对角线对角线的和。然后,在`main`函数中,用户会被要输入矩阵的尺寸和元素,最后打印出两者的和。 如果你有具体的矩阵数据或遇到了特定的问题,请提供更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值