1027 打印沙漏 (20 分)java
时间: 2023-06-05 08:47:21 浏览: 272
控制台下打印沙漏模型
题目描述
本题要求你写个程序,把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印
*****
***
*
***
*****
所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
输入格式:
输入在一行中给出1个正整数N(≤100)和一个符号,中间以空格分隔。
输出格式:
首先打印出符号图案。随后在一行中输出未被打印的符号数。
输入样例:
19 *
输出样例:
*****
***
*
***
*****
2
题目思路
1.首先计算出沙漏的层数,即最大的奇数n,使得n^2<=N。
2.然后从第n层开始,逐层打印沙漏。
3.每层打印2*(n-i)-1个符号,其中i为当前层数。
4.每层打印完毕后,计算剩余的符号数,即N减去已经打印的符号数。
5.最后输出剩余的符号数。
Java代码
阅读全文