蓝桥杯练习题 字母图形 java实现

本文介绍了一个简单的算法,用于生成由字母组成的特定图案。通过输入行数和列数,该算法能够输出一个由字母A到Z构成的指定大小的图案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上题

问题描述

利用字母可以组成一些美丽的图形,下面给出了一个例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。

输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n行,每个m个字符,为你的图形。
样例输入
5 7
样例输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
数据规模与约定
1 <= n, m <= 26。
一道很简单的练习题,在这里献丑了给大家提供我的解法

import java.util.Scanner;

public class ZiMuTuXing {

    public static void main(String[] args) {
        // 5 7 输出5 行 7个字母 1-26
        // ABCDEFG
        /*
         * ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC
         */
        String rs = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";
        String[] a = rs.split(" ");
        Scanner sc = new Scanner(System.in);
        int lin;
        int len;
        String b = "";
        while(sc.hasNextInt()){
            lin = sc.nextInt();
            len = sc.nextInt();
            for(int i=0;i<len;i++){
                 b+=a[i];
            }
//            System.out.println(b); //取到 要操作的字符串
            for(int i=0;i<lin;i++){
//                ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC
                System.out.println(b);
                //反复 截取0---length-1    共len次
                String result = b.substring(0, b.length()-1);
                 b = a[i+1]+result;//每次出现在第一位的字母刚好是数组a[i+1]对应元素
            }
            b = "";
        }
    }

}
输入 5    7 程序输出


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值