寒假作业1——打印沙漏

时间:2022-05-31 21:51:35

 题目1.打印沙漏

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

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

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

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

  1).实验代码

 寒假作业1——打印沙漏

 

  2) 设计思路

寒假作业1——打印沙漏

 

  3)本题调试过程碰到问题及解决办法

第一眼认为是简单的不能再简单的题,就像刚开始将三角转换为倒三角一样简单,认真思考了才发现不是想的那样,首先要定义参数存图案和图案的数量,再将数量用算法算出行数,再算出多余的数。算法不算复杂但是运用在编程上就没有什么头绪,只知道大概思路,

结果就是要么打印出来的不是沙漏,要么就是算错余下来的数。后面问室友具体算法才知道答案。其中的sum+=2*(2*(i+1)-1);//2n-1是一层的个数,乘以2代表两层一共需要的个数 研究了很久才明白道理。

  4).运行结果截图

因为时间过了只有运行完成的图和C上的图

寒假作业1——打印沙漏

寒假作业1——打印沙漏