CCCC L1-002. 打印沙漏【图形打印】

L1-002. 打印沙漏

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈越

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

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

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

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

输入格式:

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

输出格式:

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

输入样例:
19 *
输出样例:
************
*****
2

 【代码】:

#include<bits/stdc++.h>using namespace std;
#define _for(i,a,b) for(int i=(a); i<(b); i++)
#define rep(i,a,b) for(int i=(a); i<=(b); i++)
const int N = 10000000;int main()
{int n, t;char c;cin >> n >> c;int tmp,cnt=0;int sum=1;int i;for(i=3; sum<=n; i+=2){sum += i*2;cnt++;if(sum>n){cnt--;sum -= i*2;break;}}//printf("sum=%d cnt=%d i=%d\n",sum,cnt,i); 17 2 7 //5 3//程序中需要控制好总行数和每一行的字符//输出格式 = 空格 + 字符 (后面的空格不要输出了直接换行)for(int i=1; i<=cnt; i++){ //行数自然递增for(int j=1; j<=i-1; j++){ //空格随行数增多cout << " ";}for(int k=1; k<=2*((cnt+1) - i)+1; k++){ //控制字符个数 注意与行数和cnt的关系cout << c;}printf("\n");}for(int i=1; i<=cnt; i++){printf(" ");}printf("%c\n",c);for(int i=1; i<=cnt; i++){ //控制行数增大for(int j=1; j<=cnt-i; j++){ //空格减少cout << " ";}for(int k=1; k<=2*i+1; k++){cout << c;}printf("\n");}printf("%d\n",n-sum);
}
注释

 

转载于:https://www.cnblogs.com/Roni-i/p/8587937.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Samsung原版44B0X的Bootloader分析

原作者&#xff1a;BCbbs 1&#xff0e;中断向量表 AREA Init,CODE,READONLY 说明&#xff1a; 1.从代码看Init段就是要写入0x00地址的原始中断向量&#xff0c;因此把这个文件编译生成的44binit.O和Init填入ADS的Linker-Layout页对应项中(这样编译器会把该段代码编译到0X…

C语言,把指针按地上摩擦,爽

不要陷在指针里面&#xff0c;最好的方法是跳出指针&#xff0c;我们从最终结果来思考问题。于是我的解题思路总是很偏&#xff0c;但是直指本质。我们写一段代码&#xff1a;编译&#xff0c;反编译&#xff0c;反编译这里我们用objdump -d hello >1.txt&#xff0c;如果你…

嵌入生活的嵌入式,超市里的电子价签

纸质价签 VS 电子价签快过年了&#xff0c;今天特意走访了居住地附近的2家超市&#xff0c;不过不是为了买年货&#xff0c;而是为了给这篇文章提供一手的素材。今天我们来聊聊超市里的电子价签。我去的第一家超市&#xff0c;货架上的标签是这样的&#xff0c;这也是我们最常见…

张一鸣:大学四年收获及工作感悟

大学里的三点收获2001年我考入了南开大学&#xff0c;起初大学的生活是让人有点失落的&#xff0c;但慢慢地从安静朴素的校园和踏实努力的氛围中&#xff0c;我还是找到了自己的节奏。大学期间我主要在做三件事情 &#xff0c;一是写代码&#xff0c;因为我是搞技术的&#xff…

C语言实现x的n次方

C语言实现x的n次方#include <stdio.h> // codeblock编辑和编译的#define uint8_t unsigned char #define uint32_t unsigned int #define POWER 16// 求x的n次方&#xff0c;返回x的n次方的值 uint32_t Power(uint8_t x, uint8_t n) {uint8_t i;uint32_t val 1;for(i …

关于JTAG,你知道的和不知道的都在这里

01JTAG简介JTAG&#xff08;JointTest ActionGroup&#xff09;是一个接口&#xff0c;为了这个接口成立了一个小组叫JTAG小组&#xff0c;它成立于1985年。在1990年IEEE觉得一切妥当&#xff0c;于是发布了IEEE Standard 1149.1-1990&#xff0c;并命名为Standard Test Access…

Java:从99瓶子数到0,一个int、String变量、while循环、if条件测试

一、程序执行流程图&#xff1a; 二、代码实现&#xff1a; one: public static void main(String[] args) {int beerNumber99; String beerName"bottles";while (beerNumber<100){ System.out.println(beerNumber" :"beerName); System.out.println…

新唐单片机如何生成精确延迟

最近在搞新唐单片机&#xff0c;所以记录下这部分内容。之前的相关文章呵&#xff0c;你会51单片机的精确延时吗&#xff1f;假如使用者想要产生精确的延迟时间&#xff0c;建议使用 __nop() 函数来组合达成。__nop() 函数能够产生 1 个精确的 CPU 频率周期延迟时间。然而&…

看门狗你确定会用了?(经验干货满满)

看门狗&#xff1f;看门狗(watchdog)-字面上的意思就是一条看门的dog&#xff0c;如果一切正常dog就不回叫&#xff0c;如出现异常dog就会叫&#xff0c;并且把你逼到门外&#xff01;其实看门狗不是什么特殊的外设&#xff0c;一般我们叫看门狗也叫做看门狗定时器&#xff0c;…

自定义GridView 介绍

GridView 是Microsoft DataGrid(VS2003版本)的一个替代品&#xff0c;它继承了DataGrid的很多优点&#xff0c;同时也继承了它的很多缺点&#xff0c;我们在方便使用的同时&#xff0c;还是不免会产生一丝遗憾。早在2004年的时候&#xff0c;对DataGrid 进行了二次封装(DotNetG…

图解,C语言数据结构,插入排序

之前写过的排序文章&#xff0c;放上链接给大家看看。C语言&#xff0c;谁都能看得懂的归并排序高中新生开学&#xff0c;需要进行军训&#xff0c;军训的时候&#xff0c;教官需要大家把按高到低排队排好。先随机找到一个比较帅的男生做排头。然后第二个人过来跟这个男生比身高…

十大经典算法 - 转载

十大经典排序算法最强总结&#xff08;含JAVA代码实现&#xff09; 最近几天在研究排序算法&#xff0c;看了很多博客&#xff0c;发现网上有的文章中对排序算法解释的并不是很透彻&#xff0c;而且有很多代码都是错误的&#xff0c;例如有的文章中在“桶排序”算法中对每个桶进…

首个开源 Linux 系统登陆火星,占有率超 Windows,一同登录还有一款安卓手机芯片...

来源| 量子位 作者 | 贾浩楠 萧箫 公众号 QbitAI“确认着陆&#xff01;毅力号安全到达火星表面。”就在昨日凌晨4点55分&#xff0c;美国“毅力号”不经变轨&#xff0c;直接冲入火星大气层&#xff0c;最终成功着陆。“毅力号”成功着陆后&#xff0c;很快传回了首张图片。…

VS2005(c#)项目调试问题解决方案集锦

1.检测到有潜在危险的 Request.Form 值原因: (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置 (2)HTML里面写了两个<form>引起解决: 方案一&#xff1a; 在.aspx文件头中加入这句&#xff1a; <% Page validateRequest"false"…

看了这动图,你还会相信眼睛吗?

面对下面这张动图&#xff0c; 你看到的是两个顺时针旋转的黄蓝相间的圆环&#xff0c;在中心箭头的指引下做上下左右运动、扩展、收缩。稍微留神一下&#xff0c;你会发现好像这应该是收到箭头的暗示所产生的幻觉。▲ 圆圈看起来跟着箭头移动和变化为了证实这个错误的起因&…

解剖8051内核如何进行多任务切换

最近在玩新唐单片机&#xff0c;这个跟我之前用的51内核是一样的&#xff0c;然后今天觉得跑下多任务&#xff0c;自己研究了下&#xff0c;跟几个同学还讨论了&#xff0c;发现有些人对切换过程还不是十分明白&#xff0c;所以发个文章出来。直接上代码#include "MS51_16…

java与.net平台之间进行RSA加密验证

RSA加密算法虽然不分平台&#xff0c;标准都是一样的&#xff0c;但是各个平台的实现方式都不尽相同&#xff0c;下面来我来说说java与.net平台之间该如何进行RSA加密验证&#xff0c;即java端加密-》.net端验证和.net端加密-》java端验证。我对RSA算法也只是停留在应用的层面&…

阿莫电子为啥越来越差?

我是在上大学接触到这个论坛的&#xff0c;当时我们创新基地的学长们都注册了这个论坛的账号。记得有一次看见我旁边的学长在浏览一个技术论坛&#xff0c;我就问「这个是什么网站&#xff0c;看起来好牛逼的样子」。我记得他说了一句「阿莫电子你都不知道&#xff0c;你是不是…

使用栈实现中缀表达式转为后缀表达式和后缀表达式的求解

书籍在线网址http://interactivepython.org/runestone/static/pythonds/index.html 中文翻译书籍&#xff1a;https://facert.gitbooks.io/python-data-structure-cn/ 将中缀表达式转换为后缀表达式 中缀表达式&#xff08;上图&#xff0c;一般书写&#xff09;转换为后缀表达…

TQ210 —— 点亮LED

TQ210 —— 点亮LED 1、S5PV210 GPIO硬件简介 1.1、GPIO 【S5PV210有237个多功能IO口&#xff0c;通过设置寄存器确定某个引脚用于输入输出或者其他特殊功能】 GPIO的英文全称为General-PurposeIO ports&#xff0c;也就是通用IO接口。在嵌入式系统中常常有数量众多&#xff0…