五个五角星编程代码怎么写

时间:2025-01-25 16:23:51 游戏攻略

Python (使用turtle库)

```python

import turtle

def draw_star(size):

angle = 144 五角星的内角为144度

turtle.penup()

turtle.goto(0, -size) 将画笔移动到起始位置

turtle.pendown()

for _ in range(5):

turtle.forward(size) 向前移动size距离

turtle.right(angle) 向右转动angle度

turtle.done() 完成绘制

def main():

turtle.speed(1) 设置绘制速度

turtle.penup()

turtle.goto(-50, 0) 移动画笔的起始位置

turtle.pendown()

draw_star(100) 绘制大小为100的五角星

if __name__ == "__main__":

main()

```

C语言

```c

include

void calculateStarCoordinates(int x, int y, int radius) {

double angle = 0.0;

int i;

double x1, y1, x2, y2;

for (i = 0; i < 6; i++) {

x1 = x + radius * cos(angle);

y1 = y + radius * sin(angle);

x2 = x + radius * cos(angle + 180);

y2 = y + radius * sin(angle + 180);

printf("(%f, %f) ", x1, y1);

angle += 72;

}

printf("\n");

}

int main() {

int size = 5; // 五角星的大小

int i, j;

for (i = 1; i <= 2 * size - i; i--) {

for (j = 1; j <= size - i; j++) {

if (i == 1 || i == size || j == i || j == 2 * size - i) {

printf("* ");

} else {

printf(" ");

}

}

printf("\n");

}

return 0;

}

```

Java (使用turtle库)

```java

import java.awt.AWTException;

import java.awt.Robot;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.JFrame;

import javax.swing.SwingUtilities;

public class Star {

public static void main(String[] args) {

SwingUtilities.invokeLater(() -> {

JFrame frame = new JFrame("Star Drawing");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(400, 400);

frame.addKeyListener(new KeyListener() {

@Override

public void keyPressed(KeyEvent e) {

if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {

System.exit(0);

}

}

@Override

public void keyReleased(KeyEvent e) {

}

@Override

public void keyTyped(KeyEvent e) {

}

});

frame.setVisible(true);

Robot robot = new Robot();

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

});

}

}

```

这些代码示例分别使用Python的turtle库、C语言和Java的Swing库来绘制五角星。你可以根据自己的需求和编程环境选择合适的代码进行尝试。