题目1.打印沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印
*****
***
*
***
*****
所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
1).实验代码
2) 设计思路
3)本题调试过程碰到问题及解决办法
第一眼认为是简单的不能再简单的题,就像刚开始将三角转换为倒三角一样简单,认真思考了才发现不是想的那样,首先要定义参数存图案和图案的数量,再将数量用算法算出行数,再算出多余的数。算法不算复杂但是运用在编程上就没有什么头绪,只知道大概思路,
结果就是要么打印出来的不是沙漏,要么就是算错余下来的数。后面问室友具体算法才知道答案。其中的sum+=2*(2*(i+1)-1);//2n-1是一层的个数,乘以2代表两层一共需要的个数 研究了很久才明白道理。
4).运行结果截图
因为时间过了只有运行完成的图和C上的图