返回顶部
首页 > 资讯 > 精选 >如何Go语言打印输出沙漏
  • 433
分享到

如何Go语言打印输出沙漏

2023-06-25 13:06:17 433人浏览 独家记忆
摘要

本篇文章给大家分享的是有关如何Go语言打印输出沙漏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。题解打印沙漏 (20 分) Go语言|golang要求你写个程序把给定的符号打印

本篇文章给大家分享的是有关如何Go语言打印输出沙漏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

题解

打印沙漏 (20 分) Go语言|golang

要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

*****
 ***
  *
 ***
*****

所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。

给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

输入格式:

输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

输出格式:

首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

输入样例:

19 *

结尾无空行

输出样例:

*****
 ***
  *
 ***
*****
2

结尾无空行

思路

基础的输出,如果觉得这题不友好的可以跳过,等回头再来做做,领悟一下。

就是找规律,先计算出所需要的有多少。再减去然后得到剩余的数量。然后再按照规律打印这个沙漏,其实就是一个等差数列了啦~

代码如下

package mainimport ("fmt")func  main() {var n intvar tag bytevar sum, nextSum int_, _ = fmt.Scanf("%d %c", &n, &tag)sum = 1nextSum = 1i := 1last := 0for true { // 先是计算出所需要多少的符号i += 2nextSum += i * 2if nextSum <= n {sum += i * 2} else {i -= 2last = n - sumbreak}}for j:=i; j>=1; j=j-2 {  // 先打印上半部分var space = (i - j) / 2for k:=0; k<i-space; k++ {if k < space {fmt.Printf(" ")  // 先打印空格} else {fmt.Printf("%c", tag)  //再打印*}}fmt.Println() // 最后记得要换行}for j:=3; j<=i; j=j+2 {var space = (i - j) / 2  //再打印下半部分for k:=0; k<i-space; k++ {if k < space{fmt.Printf(" ")  //再打印*} else {fmt.Printf("%c", tag)}}fmt.Println()}fmt.Println(last)}

以上就是如何Go语言打印输出沙漏,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: 如何Go语言打印输出沙漏

本文链接: https://lsjlt.com/news/305218.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何Go语言打印输出沙漏
    本篇文章给大家分享的是有关如何Go语言打印输出沙漏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。题解打印沙漏 (20 分) Go语言|Golang要求你写个程序把给定的符号打印...
    99+
    2023-06-25
  • Go语言小白入门刷题打印输出沙漏
    目录题解思路代码如下题解 【PTA团体程序设计天梯赛】 L1-002 打印沙漏 (20 分) Go语言|Golang 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“...
    99+
    2024-04-02
  • mfc中如何输出打印信息
    在MFC中,可以使用`TRACE`宏、`AfxMessageBox`函数和`OutputDebugString`函数来输出打印信息。...
    99+
    2023-10-28
    mfc
  • C语言怎么打印输出某一年的日历
    本篇内容主要讲解“C语言怎么打印输出某一年的日历”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言怎么打印输出某一年的日历”吧!输入一个年份(1970以后的),以 2*6 的格式打印当年的日历...
    99+
    2023-06-08
  • go语言如何实现两个协程交替打印
    这篇“go语言如何实现两个协程交替打印”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言如何实现两个协程交替打印”文章吧...
    99+
    2023-06-29
  • Python如何在终端彩色打印输出
    目录1.引言2.工作原理3.使用Colorama库4.改变输出文本颜色5.改变输出文本背景6.改变输出文本亮度7. 总结1.引言 创建命令行程序很棒:命令行可以按照我们的设定完成相应...
    99+
    2024-04-02
  • Python print函数:如何将对象打印输出
    目录描述语法使用示例打印对象指定分隔符打印到文件设定结尾字符串print与__repr__描述 print函数是Python的内置函数,它会将对象的__repr__特殊函数返回的字符...
    99+
    2024-04-02
  • VB语言如何输出文字
    小编给大家分享一下VB语言如何输出文字,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!目标案例   以上案例,我们需要打印“我们是五月的花海”。一、开...
    99+
    2023-06-20
  • c语言如何反序输出
    要反序输出一个数组或者字符串,可以使用以下方法:1. 对于数组,可以使用循环从最后一个元素开始遍历,依次输出每个元素。例如:```c...
    99+
    2023-08-18
    c语言
  • c语言如何输出ascii码
    在C语言中,可以通过使用整数类型的变量来存储ASCII码值,并通过printf函数来输出。以下是一种常见的方法: #include ...
    99+
    2023-10-28
    c语言
  • C语言如何打印各种图案
    这篇文章主要介绍C语言如何打印各种图案,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!线段图案#include<stdio.h>int main(){    ...
    99+
    2023-06-22
  • 如何使用PHP脚本控制打印机输出
    近些年来,PHP已经成为了互联网开发领域用得最广泛的语言之一,不仅仅限于Web应用程序,还可以用于各种脚本控制,例如打印机的输出。在这篇文章中,我将向您介绍如何使用PHP脚本控制打印机输出。一、什么是PHP脚本?PHP脚本是一种广泛使用的服...
    99+
    2023-05-14
  • 如何在 Go 中打印?
    学习Golang要努力,但是不要急!今天的这篇文章《如何在 Go 中打印?》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!问题内容我...
    99+
    2024-04-04
  • Go语言中如何输出带有换行符的文本
    Go语言是一种现代化、高效且简洁的编程语言,广泛应用于各种领域的软件开发中。在Go语言中,输出带有换行符的文本非常简单,可以通过使用fmt包提供的Println函数实现。下面我们将具体...
    99+
    2024-03-15
    go 输出 换行 go语言
  • c语言printf如何输出中文
    在C语言中,要输出中文字符,需要使用宽字符函数wprintf()和宽字符字符串类型wchar_t。以下是一个示例代码:```c#in...
    99+
    2023-10-11
    c语言
  • c语言输出nan如何解决
    在C语言中,当计算结果为NaN时,可以使用isnan()函数来判断是否为NaN,然后进行相应的处理。 示例代码如下: #includ...
    99+
    2024-04-08
    c语言
  • win10打印出错无法打印如何解决
    如果Windows 10无法打印,可以尝试以下解决方法:1. 检查打印机连接:确保打印机正确连接到电脑,并且打印机处于开机状态。2....
    99+
    2023-09-02
    win10
  • go语言实现两个协程交替打印
    目录方法一:使用两个channel方法二:使用一个channel方法一:使用两个channel 这里channel CA 必须要有缓冲区,否则最后会报错 fatal error: a...
    99+
    2024-04-02
  • C语言如何删除打印的字符
    要删除已经打印的字符,需要使用特定的方法,因为C语言的标准输入输出流是按照顺序进行操作的,无法直接删除已经打印的字符。一种可行的方法...
    99+
    2023-09-15
    c语言
  • C语言如何打印杨辉三角形
    小编给大家分享一下C语言如何打印杨辉三角形,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 题目描述杨辉三角形解题之前,我们先来了解一下杨辉三角形到底是什么?杨...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作