`
googya
  • 浏览: 144058 次
  • 性别: Icon_minigender_1
  • 来自: 汉川
社区版块
存档分类
最新评论

打印图形(很基础的)

阅读更多
    想不到有家公司的笔试题中居然有一道打印图形的题目,更让人意外的是,我当时居然卡住了,楞没做出来。汗!看来基础很不牢固,该!这样的题目应该在刚学习语言的时候就应该完成的。。。。
    啥也不说了,把题目亮出来吧。输出以下图形:
    #####*#####
    ####*#*####
    ###*#*#*###
    ##*#*#*#*##
    #*#*#*#*#*#
    *#*#*#*#*#*
当时考虑对称,可是我看了一下,觉得对称也不是很好,要写很多代码。我看到太多的代码就头疼。
    之后,回来看了一下,其实真的很简单。避免忘记想法,写了一个ruby片段:

for i in 0..5
    print "#"*(5-i)
    i=i-1
    0.upto(i) do
         print "*#"
     end
     print "*"
    unless (4-i)<=0
        print "#"*(4-i)
    end
    
    puts "\n"
end





想法很直接,输出前面的井号,然后输出星号包含的一串,然后输出后面的井号。一行就这样输出来了。
    下次笔试这样的题目肯定不能空着,太丢人了。。。
    基础不牢,地动山摇。赶紧把那些丢掉的捡回来



2
0
分享到:
评论
3 楼 tjcjc 2010-10-27  
(1..11).step(2).inject("#") do |f,x|
f.tr("#*","*#").tap{|y|puts y.center(11,"#")}.center(x+2,"#")
end
2 楼 googya 2010-10-15  
jayliud 写道
5.downto(0) do |i|
puts "#"*i+(1..(11 - 2 * i)).inject(""){|s,m| (m % 2 == 0) ? s+='#' : s+='*'}+"#"*i
end

 

这样写确实简洁。和你的相比,我的就没有利用ruby的思想。
1 楼 jayliud 2010-10-14  
5.downto(0) do |i|
puts "#"*i+(1..(11 - 2 * i)).inject(""){|s,m| (m % 2 == 0) ? s+='#' : s+='*'}+"#"*i
end

相关推荐

    java打印各种图形

    综上所述,Java打印图形是通过控制字符输出和循环结构实现的。在实际项目中,这种基础技能常常被用于调试、日志记录或者简单的用户界面输出。掌握这些技巧有助于提升对编程逻辑的理解,并为进一步学习Java图形用户...

    循环打印图形源码

    在编程领域,循环打印图形是一种常见的基础练习,它涉及到控制结构、字符操作以及字符串构建等基础知识。本主题主要关注的是使用编程语言(如Java)来实现这类算法的源码。对于初学者而言,掌握这部分知识有助于理解...

    使用java打印所有图形

    现在,让我们详细探讨如何实现这些图形的打印。 1. 直角三角形: 直角三角形通常由一系列星号(*)组成,每一行比上一行多一个星号。我们可以通过嵌套for循环来实现。外层循环控制行数,内层循环控制每行的星号数量。...

    c语言打印图形

    "c语言打印图形" 本资源总结了C语言基础知识,主要介绍了如何使用C语言打印各种图形,包括等腰梯形、Z形图形、N形图形、X形图形和菱形图形等。通过这些图形的打印,读者可以更好地理解C语言的循环语句和控制语句的...

    汇编语言接口程序实现打印图形的程序

    当我们提到“汇编语言接口程序实现打印图形的程序”时,我们关注的是一个特定的应用场景,即在Fox(可能指的是某种操作系统或集成开发环境,如FoxPro或FoxBase)中,程序员使用汇编语言编写了一组代码,以控制打印机...

    C#窗体图形图像打印源代码

    在C#编程中,图形图像打印是一个常见的需求,特别是在开发桌面应用时,用户可能需要将设计、报告或者图片输出到打印机。"C#窗体图形图像打印源代码"的主题涉及了如何在C#环境中实现这一功能。下面我们将深入探讨相关...

    C语言打印图形类问题解题思路

    ### C语言打印图形类问题解题思路 #### 一、引言 在C语言学习过程中,打印图形类问题是初学者经常遇到的一种编程练习。这类问题不仅考验学生的基础语法能力,还能够培养其逻辑思维和算法设计能力。本文将详细介绍...

    C慕课--图形打印

    课程中的“打印图形视频.mp4”应该包含详细的步骤演示和解释,帮助学习者理解每个图形是如何构建的,以及如何通过改变循环条件和输出逻辑来实现不同的图形。 总的来说,学习图形打印不仅是掌握C语言基础的好方法,...

    C语言打印字符图形

    掌握如何在C语言中打印字符图形是编程基础的一部分,它不仅增强了对循环结构的理解,还提高了解决实际问题的能力。 #### 二、关键知识点 ##### 1. 单层递增图形 **例1**:通过逐行增加字符数量来构建图形,例如...

    计算机图形学基础教程课后习题解答(第二章)

    计算机图形学是计算机科学的一个重要分支,主要研究如何在计算机中表示、处理和显示图形信息。...对于初学者来说,这是一个很好的学习资源,可以逐步理解并掌握计算机图形学的核心概念和编程技巧。

    Windows图形输出基础

    ### Windows图形输出基础 #### 一、图形设备接口(GDI) **图形设备接口** (Graphics Device Interface, GDI) 是Windows操作系统中一个重要的组件,它主要用于处理与图形相关的任务,如绘制图形、文本等。GDI的核心...

    打印规矩图形——菱形

    总的来说,"打印规矩图形——菱形"是一个很好的学习C语言控制结构、条件判断以及基本输出的实例。通过解决这个问题,程序员能更好地理解C语言的基本语法,并为更复杂的编程任务打下坚实的基础。

    Y2指导学习打印图形

    在IT行业中,打印图形是一项基础但重要的技能,尤其在网页开发和服务器编程中。本教程“Y2指导学习打印图形”将重点讲解如何利用JSP(JavaServer Pages)、Servlet和JavaBean来实现这一功能。这三者是Java Web开发的...

    java图形报表打印所需JAR

    Java图形报表打印是Java开发中一个重要的功能领域,主要用于生成和打印各种数据报表。在Java应用程序中,报表通常用于展示复杂的数据集,如销售报告、财务报表或业务分析。为了实现这一功能,开发者通常需要引入特定...

    Linux图形开发基础

    详细讨论嵌⼊入式图形⽤用户界⾯面开发常 ⻅见的底层⽀支持库和⾼高级函数库。这些内容都是Linux图形界⾯面开发的基础知识

    孙家广、胡事民编著计算机图形学习题答案

    3. **图形输出设备**:如显示器、打印机等,用于显示或打印最终的图形结果。 #### 三、图形与图像的区别 1. **图形**:指的是由线条、曲线等几何元素组成的矢量图形。这些图形可以无限放大而不会失真,因为它们是由...

    VC++(chapter03) 嵌套for循环的几种常见打印图形和运用

    在"VC++(chapter03) 嵌套for循环的几种常见打印图形和运用"这个主题中,我们将会深入探讨如何使用嵌套for循环来绘制各种有趣的图形,例如矩形、正方形、数字矩阵以及金字塔。下面将详细解释这些知识点。 首先,基础...

    计算机图形学应用基础 彭群生 金小刚 万华根 冯结青

    《计算机图形学应用基础》是由彭群生、金小刚、万华根和冯结青四位专家合著的一本深入浅出的计算机图形学教材。这本书涵盖了计算机图形学的基础理论和实际应用,旨在帮助读者理解和掌握这一领域的核心概念和技术。 ...

    3D打印中的计算机图形学研究

    ### 3D打印中的计算机图形学研究 #### 一、3D打印与计算机图形学的融合 3D打印技术作为一种新兴的制造工艺,在过去的几十年里迅速发展起来,并且正在逐步改变传统的制造方式。该技术的核心在于能够根据数字模型...

Global site tag (gtag.js) - Google Analytics