Title

每日作业

矩形运算

设计一个程序: 输入一个3*3的矩形, 求矩形的两个对角线和

样例输入:

1 2 3

4 5 6

7 8 9

样例输出:

15, 15

 1 package com.work;
 2 
 3 import java.util.Scanner;
 4 
 5 /**
 6  * @author My
 7  */
 8 public class Assignment_17 {
 9     public static void main(String[] args) {
10         Scanner reading = new Scanner(System.in);
11         System.out.println("输入行数:");
12         int m = reading.nextInt();
13         System.out.println("输入列数:");
14         int n = reading.nextInt();
15         int[][] num = new int[m][n];
16         System.out.println("输入"+m+"行"+n+"列的数组:");
17         for (int i = 0; i < m; i++) {
18             for (int j = 0; j < n; j++) {
19                 num[i][j] = reading.nextInt();
20             }
21         }
22         int sum1 = 0,sum2 = 0;
23         if(m==n){       //行和列相等的情况
24             for (int i = 0; i < m; i++) {
25                 sum1 += num[i][i];
26             }
27             for (int i = 0; i < n; i++) {
28                 sum2 += num[i][n-i-1];
29             }
30         }else {      //行和列不相等的情况
31             if (m>n){     //行大于列
32                 int z=m-n;
33                 int[][] num2 = new int[m][m];
34                 for (int i = 0; i < m; i++) {
35                     for (int j = 0; j < n; j++) {
36                         num2[i][j]=num[i][j];
37                     }
38                     num2[i][m-z]=0;
39                 }
40                 for (int i = 0; i < m; i++) {
41                     sum1 += num2[i][i];
42                 }
43                 for (int i = 0; i < n; i++) {
44                     sum2 += num2[i][n-i-1];
45                 }
46             }else {    //行小于列
47                 int x=n-m;
48                 int[][] num2 = new int[n][n];
49                 for (int i = 0; i < m; i++) {
50                     for (int j = 0; j < n; j++) {
51                         num2[i][j] = num[i][j];
52                     }
53                     num2[n-x][i]=0;
54                 }
55                 for (int i = 0; i < m; i++) {
56                     sum1 += num2[i][i];
57                 }
58                 for (int i = 0; i < n; i++) {
59                     sum2 += num2[i][n-i-1];
60                 }
61             }
62         }
63         System.out.println("对角线之和:");
64         System.out.println(sum1+" "+sum2);
65     }
66 }

 

posted @ 2020-12-15 11:35  WAASSTT  阅读(78)  评论(0)    收藏  举报
Title