「打印沙漏形状java」打印机显示沙漏
本篇文章给大家谈谈打印沙漏形状java,以及打印机显示沙漏对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、PTA打印沙漏习题,我的代码(python3)为什么会提示格式错误?
- 2、用java编写沙漏型*号 ******* ***** *** * * *** ***** *******
- 3、1027 打印沙漏
PTA打印沙漏习题,我的代码(python3)为什么会提示格式错误?
1. 打印出的沙漏形状,右侧千万不能出现多于的空格,在行尾请回车
2. 在调用python3 的input函数时,不能在屏幕上打印input的说明,否则也会被PTA判断成不通过。换句话说,input("") 可以通过测试,但是input("Please enter an integer")就会带来误判!
用java编写沙漏型*号 ******* ***** *** * * *** ***** *******
public void demo(int n){
//空格最大值
int maxk = (n-1)/2;
//当前空格个数
int x = 0;
//当前行星星个数
int star = 0;
for(int i = 0;in;i++){
if(imaxk){
star = n -(2*x);
for(int y = 0;yx;y++){
System.out.print(" ");
}
for(int y = 0;ystar;y++){
System.out.print("*");
}
x++;
}else{
star = n -(2*x);
for(int y = 0;yx;y++){
System.out.print(" ");
}
for(int y = 0;ystar;y++){
System.out.print("*");
}
x--;
}
System.out.println();
}
}
public void demo2(int n){
for(int y = 0;yn;y++){
//当前行星星个数
int star =Math.abs(n-2*y0?n-2*y:n-2*y-2);
//当前行前面空格个数
int k = Math.abs((n-star)/2);
for(int i = 0;ik;i++){
System.out.print(" ");
}
for(int i = 0;istar;i++){
System.out.print("*");
}
System.out.println();
}
}
1027 打印沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印
所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。
首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。
19 *
2
此题思路比较简单,主要是有一个陷阱比较坑:不需要输出多余的空格!!!
(以后看到格式有问题的情况可以将题目的输出案例复制到记事本上,然后一个一个的对比字符)
题目的思路如下,首先观察沙漏的字符个数与行数的关系:
1行沙漏只有1个字符,2行沙漏有7个字符,3行有17个,4行有31个,可以得到一个公式:n行的沙漏有2n 2 -1个字符。
这样就可以根据给定的字符个数,找出最大的沙漏的行数。
这里我使用了一个count函数来计算这个行数row
得到行数以后,我们可以得到最多一行输出的字符的个数为length=2row-1。
对于沙漏的第i行来说,这一行要输出2i-1个字符,为了居中显示,需要在其前面输出一定的空格,空格数应该等于[length-(2i-1)]/2,这样先从i=row输出到i=1,在从i=2输出到i=row即可得到沙漏。
打印沙漏
打印沙漏形状java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于打印机显示沙漏、打印沙漏形状java的信息别忘了在本站进行查找喔。