1109 擅长C(JAVA)

简介: 当你被面试官要求用 C 写一个“Hello World”时,有本事像下图显示的那样写一个出来吗?

 

当你被面试官要求用 C 写一个“Hello World”时,有本事像下图显示的那样写一个出来吗?

image.gif编辑

输入格式:

输入首先给出 26 个英文大写字母 A-Z,每个字母用一个 7×5 的、由 C. 组成的矩阵构成。最后在一行中给出一个句子,以回车结束。句子是由若干个单词(每个包含不超过 10 个连续的大写英文字母)组成的,单词间以任何非大写英文字母分隔。

题目保证至少给出一个单词。

输出格式:

对每个单词,将其每个字母用矩阵形式在一行中输出,字母间有一列空格分隔。单词的首尾不得有多余空格。

相邻的两个单词间必须有一空行分隔。输出的首尾不得有多余空行。

输入样例:

..C..
.C.C.
C...C
CCCCC
C...C
C...C
C...C
CCCC.
C...C
C...C
CCCC.
C...C
C...C
CCCC.
.CCC.
C...C
C....
C....
C....
C...C
.CCC.
CCCC.
C...C
C...C
C...C
C...C
C...C
CCCC.
CCCCC
C....
C....
CCCC.
C....
C....
CCCCC
CCCCC
C....
C....
CCCC.
C....
C....
C....
CCCC.
C...C
C....
C.CCC
C...C
C...C
CCCC.
C...C
C...C
C...C
CCCCC
C...C
C...C
C...C
CCCCC
..C..
..C..
..C..
..C..
..C..
CCCCC
CCCCC
....C
....C
....C
....C
C...C
.CCC.
C...C
C..C.
C.C..
CC...
C.C..
C..C.
C...C
C....
C....
C....
C....
C....
C....
CCCCC
C...C
C...C
CC.CC
C.C.C
C...C
C...C
C...C
C...C
C...C
CC..C
C.C.C
C..CC
C...C
C...C
.CCC.
C...C
C...C
C...C
C...C
C...C
.CCC.
CCCC.
C...C
C...C
CCCC.
C....
C....
C....
.CCC.
C...C
C...C
C...C
C.C.C
C..CC
.CCC.
CCCC.
C...C
CCCC.
CC...
C.C..
C..C.
C...C
.CCC.
C...C
C....
.CCC.
....C
C...C
.CCC.
CCCCC
..C..
..C..
..C..
..C..
..C..
..C..
C...C
C...C
C...C
C...C
C...C
C...C
.CCC.
C...C
C...C
C...C
C...C
C...C
.C.C.
..C..
C...C
C...C
C...C
C.C.C
CC.CC
C...C
C...C
C...C
C...C
.C.C.
..C..
.C.C.
C...C
C...C
C...C
C...C
.C.C.
..C..
..C..
..C..
..C..
CCCCC
....C
...C.
..C..
.C...
C....
CCCCC
HELLO~WORLD!

image.gif

输出样例:

C...C CCCCC C.... C.... .CCC.
C...C C.... C.... C.... C...C
C...C C.... C.... C.... C...C
CCCCC CCCC. C.... C.... C...C
C...C C.... C.... C.... C...C
C...C C.... C.... C.... C...C
C...C CCCCC CCCCC CCCCC .CCC.
C...C .CCC. CCCC. C.... CCCC.
C...C C...C C...C C.... C...C
C...C C...C CCCC. C.... C...C
C.C.C C...C CC... C.... C...C
CC.CC C...C C.C.. C.... C...C
C...C C...C C..C. C.... C...C
C...C .CCC. C...C CCCCC CCCC.

image.gif

代码实现:

import java.io.*;
import java.util.ArrayList;
/**
 * @author yx
 * @date 2022-07-28 23:22
 */
public class Main {
    static PrintWriter out=new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);
    public static void main(String[] args) throws IOException {
        String[] nums=new String[182];
        for (int i = 0; i < 182; i++) {
            nums[i]=ins.readLine();
        }
        char[] s=ins.readLine().toCharArray();
//        System.out.println(s);
        ArrayList<String> list=new ArrayList<>();
        StringBuilder sb=new StringBuilder();
        for (int i = 0; i < s.length; i++) {
            if(s[i]>='A'&&s[i]<='Z'){
                sb.append(s[i]);
                if(i==s.length-1){
                    list.add(sb.toString());
                }
            }else {
                if(sb.toString().equals("")){
                    continue;
                }
//                 System.out.println(sb.toString());
                list.add(sb.toString());
                sb=new StringBuilder("");
            }
        }
//        System.out.println(list.get(0));
//        System.out.println(list.get(1));
        for (int i = 0; i < list.size()-1; i++) {
            String ss=list.get(i);
            int length=ss.length();
            for (int k = 0; k < 7; k++) {
                for (int j = 0; j < length-1; j++) {
                    out.print(nums[(ss.charAt(j)-'A')*7+k]+" ");
                }
                out.println(nums[(ss.charAt(length-1)-'A')*7+k]);
            }
            out.println();
        }
        String ss=list.get(list.size()-1);
        int length=ss.length();
        for (int k = 0; k < 7; k++) {
            for (int j = 0; j < length-1; j++) {
                out.print(nums[(ss.charAt(j)-'A')*7+k]+" ");
            }
            out.println(nums[(ss.charAt(length-1)-'A')*7+k]);
        }
        out.flush();
    }
}

image.gif

image.gif编辑

相关文章
|
11月前
|
算法 程序员 开发工具
C语言编程规范
C 语言编程规范有助于提升代码的可读性、可维护性和可移植性。主要包括:命名规范(如 `my_variable`、`MAX_SIZE`)、代码缩进与空格、注释(解释逻辑但不过度)、函数设计(短小精悍、参数不超过三个)、错误处理、避免魔法数字、选择合适数据结构、使用标准库、保持代码格式一致及版本控制。遵循这些规范能显著提高团队开发效率和代码质量。
1005 2
|
消息中间件 存储 缓存
一文快速掌握高性能内存队列Disruptor
`Disruptor`是LMAX公司开源的高性能内存消息队列,单线程处理能力可达600w订单/秒。本文从使用和设计角度探讨这款Java消息队列。作者sharkChili是Java开发者,CSDN博客专家,Java Guide项目维护者。文章介绍了Disruptor的基础使用,包括前置步骤、消息模型、消息处理器配置、生产者实现,并展示了效果。同时,文章详细解析了Disruptor的工作流程和高效原因,如无锁操作、分支预测和缓存填充。最后,作者提供相关资源链接并邀请读者加入交流群。
2590 0
|
C语言 C++
C++对C的改进和拓展\string类型
C++对C的改进和拓展\string类型
72 1
|
存储 测试技术 C++
【浙江大学PAT真题练习乙级】1004 成绩排名 (20分) 真题解析
【浙江大学PAT真题练习乙级】1004 成绩排名 (20分) 真题解析
166 0
|
Web App开发 Java UED
SpringBoot 修改启动日志输出
在 springboot 项目启动时我们可以自定义输出图案 springboot - start - log - println
2330 0
VC编程时关于 WM_MOUSEENTER 和 WM_MOUSELEAVE消息
关于 WM_MOUSEENTER 和 WM_MOUSELEAVE消息 这两个消息比较古怪,虽然你能找到他们的定义,看起来也似乎挺有用,但是却接收不到。 如果要处理这两个消息需要手动在WM_MOUSEMOVE消息处理函数中添加: 添加变量: BOOL m_bTracking; m_...
789 0
|
8天前
|
人工智能 运维 安全
|
6天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
641 22