1186 - C语言7.10

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

求一个n×n的整形矩阵从左上角至右下角的对角线元素之和。

题目输入

第一行有一个正整数n,保证n不超过10。

共有n行,每行有n个用空格隔开的整数。

题目输出

输出n×n矩阵的左上角至右下角的对角线元素之和。

请注意行尾输出换行。

输入/输出样例

输入格式

3
3 6 8
10 2 3
7 1 9

输出格式

14

C语言解答

#include <stdio.h>
int main(){
	int n;
	int a[10][10];
	int i,j,sum=0;
	scanf("%d",&n);
	for (i=0;i<n;i++)
		for (j=0;j<n;j++)
			scanf("%d",&a[i][j]);
    for (i=0;i<n;i++)
		sum+=a[i][i];
	printf("%d\n",sum);
	return 0;
}

C++解答

#include <stdio.h>
int main() {
	int dat[10][10];
	int n, i, j, sum;
	scanf("%d", &n);
	for (i = 0;i < n;i++) {
		for (j = 0;j < n;j++) {
			scanf("%d", &dat[i][j]);
		}
	}
	sum = 0;
	for (i = 0;i < n;i++)
		sum += dat[i][i];
	printf("%d\n", sum);
	return 0;
}

Java解答

import java.util.Scanner;

public class Main {
	public static void main (String[] args) {
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
	    int [][]a=new int[n][n];
	    int sum=0;
	    for(int i=0;i<n;i++)
	    	for(int j=0;j<n;j++)
	    		a[i][j]=in.nextInt();
	    for(int k=0;k<n;k++)
	    	sum +=a[k][k];
	    System.out.println (sum);
	}
}