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;如果你…

MFC CStringArray 字符串数组类 使用方法

https://blog.csdn.net/thanklife/article/details/76836487

C语言总结

C语言高级部分 一、内存大话题1.0、内存就是程序的立足之地&#xff0c;体现内存重要性。1.1、内存理解&#xff1a;内存物理看是有很多个Bank&#xff08;就是行列阵式的存储芯片&#xff09;&#xff0c;每一个Bank的列就是位宽 &#xff0c;每一行就是Words&#xff0c;则存…

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

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

Linux 移除python Error: Trying to remove “yum”, which is protected

>yum intall python >yum -y remove python 出现Error: Trying to remove "yum", which is protected 移除 >rpm -e --nodeps python转载于:https://www.cnblogs.com/eason-d/p/8589037.html

计算t-test 的C程序

/*gdb output 程序还未调试成功&#xff1a;http://ubuntuforums.org/archive/index.php/t-412096.html*//*(gdb) run Starting program: /home/nrh1/code/testt Program received signal SIGSEGV, Segmentation fault. 0x0804967f in var () *//*function to calculate tt…

CListCtrl::InsertColumn()和InsertItem()和SetItemText()

https://blog.csdn.net/qq_25821067/article/details/47095363 InsertColumn() 函数功能&#xff1a;在报告模式下插入一列 函数原型&#xff1a;int InsertColumn(int nCol, const LVCOLUMN* pColumn)&#xff1b; int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, in…

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

大学里的三点收获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 …

十天内提高单词量到20000! (Vocabulary 10000)

<<Vocabulary 10000>> Lesson 1 A monument was built to commemorate the victory. 一个纪念碑被兴建以记念那场胜利 The children huddled together for warmth. 孩子们卷缩在一起来获得温暖 Censure is sometimes harder to bear than punishment. 有时候忍…

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

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

GPS NEMA 0183协议

GPS NEMA 0183协议 一、 NMEA0183标准语句(GPS常用语句) $GPGGA 例&#xff1a;$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F 字段0&#xff1a;$GPGGA&#xff0c;语句ID&#xff0c;表明该语句为GlobalPositioning System Fix Data&#xff08;G…

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…

DoModal

CMFCKeyMapDialog::DoModal Displays a keyboard mapping dialog box显示键盘映射对话框 virtual INT_PTR DoModal(); Return Value A signed integer, such as IDOK or IDCANCEL, that is passed to the CDialog::EndDialog method. The method, in turn, closes the dialog …

开始→运行→输入的命令集锦( 菜鸟必读)

Nslookup&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;IP地址侦测器 explorer&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;打开资源管理器 logoff&#xff0d;&#xff0d;&#xff0d;&a…

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

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

request获取各种路径总结、页面跳转总结。

页面跳转总结 JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转&#xff0c;但是二者是有很大的区别的&#xff0c;分条来说&#xff0c;有以下几点&#xff1a;①response.sendRedirect(url)-----重定向到…

CFileDialog

https://baike.baidu.com/item/CFileDialog/9747028

GBT19056精要

GBT19056精要 1、专业术语 1.1脉冲系数impulse ratio&#xff1a;车速传感器在车辆行驶1km距离过程中产生的脉冲信号个数。 1.2行驶开始时间 starttime of travelling&#xff1a;车辆从静止状态转变为行驶状态&#xff08;速度大于0km/h且持续10s以上&#xff09;的时间。 …