31 输出米字形

news/2025/2/25 8:08:36

31 输出米字形

作者: Turbo时间限制: 1S章节: 基本练习(数组)

问题描述 :

输入说明 :

输出说明 :

输入范例 :

4
输出范例 :

A…A…A
.B.B.B.
…CCC…
ABCDCBA
…CCC…
.B.B.B.
A…A…A

import java.util.Scanner;

public class test_31 {
    /**
     * 31 输出米字形
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int row = 2 * n - 1;
        int col = row;
        char[][] a = new char[row][col];
        //全部置为 .
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < col; j++) {
                a[i][j] = '.';
            }
        }
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < col; j++) {
                //主对角线
                if(i==j){
                    if(i==0){
                        a[i][j]='A';
                    }else{
                        if(i<n){
                            a[i][j]=(char)(a[i-1][j-1]+1);
                        }else{
                            a[i][j]=(char)(a[i-1][j-1]-1);
                        }
                    }
                }
                //副对角线
               if(i+j==col-1){
                    if(j==col-1){
                        a[i][j]='A';
                    }else{
                        if(i<n){
                            a[i][j]=(char)(a[i-1][j+1]+1);
                        }else{
                            a[i][j]=(char)(a[i-1][j+1]-1);
                        }
                    }
                }
                //列中轴
                if(j==n-1){
                    if(i==0){
                        a[i][j]='A';
                    }else{
                        if(i<n){
                            a[i][j]=(char)(a[i-1][n-1]+1);
                        }else{
                            a[i][j]=(char)(a[i-1][n-1]-1);
                        }
                    }
                }
                //行中轴
                if(i==n-1){
                    if(j==0){
                        a[i][j]='A';
                    }else{
                        if(j<n){
                            a[i][j]=(char)(a[n-1][j-1]+1);
                        }else{
                            a[i][j]=(char)(a[n-1][j-1]-1);
                        }
                    }
                }
            }
        }
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < col; j++) {
                if(j==col-1){
                    System.out.println(a[i][j]);
                }else {
                    System.out.print(a[i][j]);
                }
            }
        }
    }
}


http://www.niftyadmin.cn/n/709967.html

相关文章

debian apt-get联网安装mysql服务

安装mysql和卸载mysql 1.安装数据库&#xff1a;sudo apt-get install mysql-server 安装过程中需要设置密码。 2.安装客户端&#xff1a;sudo apt-get install mysql-client 3.登录MySQL&#xff1a;mysql -u root -p 4.配置文件&#xff1a;/etc/mysql/my.cnf a.设…

30 特殊的矩阵运算

30 特殊的矩阵运算 作者: 卢婷时间限制: 1S章节: 二维数组 问题描述 : 输入m个方阵&#xff0c;方阵的元素是非0整数。对于n阶方阵A&#xff0c;明明现在需要进行特殊的运算。 例如&#xff1a; A: 5 1 3 5 8 7 2 6 9 方阵A有两条对角线&#xff1a;从左上角到右下角的…

打印菱形C语言

问题描述 题目描述 输出一个n行(n为奇数)的菱形且该菱形由输入的字符ch构成&#xff0c;如输入的n7&#xff0c;ch*&#xff0c;输出以下图案&#xff1a; * 如输入的n5&#xff0c;ch?&#xff0c;输出以下图案&#xff1a; ? ??? ??? ??? ? 输入 输入若干组数…

字符串查找算法--R向单词查找树和三向单词查找树

2019独角兽企业重金招聘Python工程师标准>>> 字符串查找算法分析 算法对比&#xff1a; 算法&#xff08;数据结构&#xff09;优点二叉查找树&#xff08;BST&#xff09;适用于随机排列的键2-3树查找&#xff08;红黑树&#xff09;有性能保证线性探测法&#xff…

28 n层正方形

28 n层正方形 作者: Turbo时间限制: 1S章节: 二维数组 问题描述 : 编写程序&#xff0c;输出n层正方形图案。正方形图案最外层是第一层&#xff0c;每层用的数字和层数相同。 输入说明 : 正方形图案的层数n&#xff08;小于等于25&#xff09;。 输出说明 : 2n-1行2n-1列…

打印空心的菱形C语言

题意描述 输出一个n行(n为奇数)的菱形且该菱形由输入的字符ch构成&#xff0c;如输入的n7&#xff0c;ch*&#xff0c;输出以下图案&#xff1a; * *如输入的n5&#xff0c;ch?&#xff0c;输出以下图案&#xff1a; ? ? ? ? ? ? ? ? 输入 输入若干组数据.每组数据由…

27 蛇形方阵

27 蛇形方阵 作者: Turbo时间限制: 1S章节: 二维数组 问题描述 : 输出一个如下的n阶方阵。例如&#xff0c;若读入11&#xff0c;则输出&#xff1a; 无标题.png 输入说明 : 输入一个正整数n&#xff08;n<20)&#xff0c;表示需要输出n阶方阵。 输出说明 : 共输出n…

最短路径C语言

问题描述 现已知有N&#xff08;N<10&#xff09;个城市M(M<30)条路,保证每个城市之间有路&#xff0c;单向到达&#xff0c;每个城市之间的路程不一样&#xff0c;求任意两个城市之间的最短路程 样例输入 4 8 1 2 2 1 3 6 1 4 4 2 3 3 3 1 7 3 4 1 4 1 5 4 3 12 样例输出…