
分析:
首先爱心分成两半前面三行左右一样右边就可以通过左边反相得到
中间两行是个长方形,剩下的就是个倒等腰三角形
2.在或者,长得不太像- -
System.out.println(" ** **")
for (int i = 4i <10i++) {
for (int a = 0a <ia++) {
System.out.print(" ")
}
for (int b = 1b <= 2 * 9 - 2 * i - 1b++) {
System.out.print("*")
}
System.out.print("\n")
}
** **
*********
*******
*****
***
*
for语句输出心形(java)的方法如下:
使用eclipse,创建一个Java文件命名为Test.java
2.系统自动建立Test类及主函数。
3.输入以下代码:
public class Test{
public static void main (String []args){
int k=5 //控制心型大小
for ( int i=0i<=k*2i++){
for (int j=0j<=k*4j++){
if (((i-k)*(i-k)+(j-k)*(j-k)==k*k&&i<=k )||( (j-3*k)*(j-k*3)+(i-k)*(i-k)==k*k&&i<=k)
||(((2*k-i)-2*k)*((2*k-i)-2*k)+(j-2*k)*(j-2*k)==k*k*4 ) )
{ if (i==0&&j==0||i==0&&j==k*4) System.out.print(" ")
else { System.out.print("*")}
}
else System.out.print(" ")
}
System.out.println()
}
}
}
4.保存并运行程序
扩展资料:
for 语句表达式:
表达式1:一般为赋值表达式,给控制变量赋初值;
表达式2:关系表达式或逻辑表达式,循环控制条件;
表达式3:一般为赋值表达式,给控制变量增量或减量。
用方程的话肯定输出不会和你的图完全一致
心形线方程如图
用上面行第二个比较简单,程序如下
#include <stdio.h>bool draw(float x, float y)
{
float a = x * x + y * y - 1.0
float b = x * x * y * y * y
return a * a * a - b <= 0
}
int main(int argc, char* argv[])
{
for (float y = 1.5 y >= -1.5 y -= 0.1)
{
for (float x = -1.2 x <= 1.2 x += 0.05)
{
if (draw(x, y))
{
bool left = draw(x - 0.05, y)
bool right = draw(x + 0.05, y)
bool up = draw(x, y + 0.1)
bool down = draw(x, y - 0.1)
if (left && right && up && down)
printf(" ")
else
printf("*")
}
else
printf(" ")
}
printf("\n")
}
return 0
}
draw函数是判断(x,y)坐标是否在心形范围内
主函数循环,y取值±1.5之间,步长0.1,x取值±1.2之间,步长0.05
如果(x,y)坐标在心形范围外打印空格
如果(x,y)坐标在心形范围内,由于这个心是空心的,要继续判断是不是心形边缘,判断周围4个点坐标,如果都在范围内,表示(x,y)坐标不会是边缘,打印空格,否则是边缘,打印星号
最终结果如图
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)