java打印菱形通过二维数组来打印,实例如下:
int hangshu = 11int yiban = hangshu / 2 + 1
int yibanduo = hangshu / 2
System.out.println("空心菱形:")
for(int k = 1k <= yibank++){
for(int i = 1i <= (yiban - k)i++){
System.out.print(" ")
}
System.out.print("*")
for(int i = 1i <= ( (k - 2) * 2 + 1)i++){
System.out.print(" ")
}
if(k != 1){
System.out.print("*")
}
System.out.println()
}
for(int k = yibanduok >=1k--){
for(int i = 1i <= (yiban - k)i++){
System.out.print(" ")
}
System.out.print("*")
for(int i = 1i <= ( (k - 2) * 2 + 1)i++){
System.out.print(" ")
}
if(k != 1){
System.out.print("*")
}
System.out.println()
}
System.out.println("实心菱形:")
for(int i = 1i <= hangshui++){
if(i <= hangshu/2 + 1){
for(int k = 1k <= hangshu/2 + 1- ik++){
System.out.print(" ")
}
for(int k = 1k <= ik++){
System.out.print("* ")
}
System.out.println()
}else{
for(int k =1k <= (i -(hangshu/2 + 1))k++){
System.out.print(" ")
}
for(int k = 1k <= (2 *(hangshu/2 + 1) - i)k++){
System.out.print("* ")
}
System.out.println()
}
}
结果如下:
#include<stdio.h>
void main()
{
int i,j,k
for(i=1i<=4i++) //先打印上边的四行
{
for(j=1j<=4-ij++) //控制要打印的空格数量
printf(" ")
for(k=1k<=2*i-1k++) //控制要打印的星号数
printf("*")
printf("\n")
}
for(i=1i<=3i++)
{
for(j=1j<=ij++) //控制要打印的空格数
printf(" ")
for(k=1k<=7-2*ik++) //控制要打印的星号数
printf("*")
printf("\n")
}
}
扩展资料:
for循环
for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:
for(表达式1表达式2表达式3)循环体语句 。(其中;不能省略)
表达式
表达式1为初值表达式,用于在循环开始前为循环变量赋初值。
表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。
表达式3为循环控制变量修改表达式,它使for循环趋向结束。
循环体语句是在循环控制条件成立的情况下被反复执行的语句。
但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。
先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。
for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。
do
do循环结构,do 1 while⑵;的执行顺序是1->2->1...循环,2为循环条件。
while
while循环结构,while(1) 2的执行顺序是1->2->1...循环,1为循环条件
以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。
参考资料:C语言-百度百科
在学习C#过程中,拥有一个良好的数学思维逻辑能力能极大的提升你学习C#的速度题目:
(****)输入n,分别用*输出边长为n的实心菱形和空心菱形。
例如:n = 3时,输出:
方法1:
可以看出在用方法1去描绘这个图形时,非常麻烦,并且具有很大的局限性。
如果将这个题转换成数学题,再去解答的话就会简单很多。
方法2:
//输入实心棱形
首先我们将根据题目建立出如下的坐标轴。
要求我们绘制出实心棱形,那么就是要我们画出坐标轴中 蓝色部分的棱形。
其中 左顶点为(1,n),下顶点为(n,1)
根据坐标我们得出 线段①的方程式为 y=x+n-1
②为 y= -x + 3n-1
③为y= -x + n+1
④为y=x+ 1-n
那么 下面就是输出符合条件的方程的解就是空心棱形,符合在4个线段内的解就是实心棱形
另外还有一种方式,是用绝对值来判断是否在棱形边上,这个就你们自己去思考吧。
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)