建议先了解闹钟的内部构造先,秒针、分针和时针之间的关系是如何的,这才是难点所在
#include <graphics.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#define width 640
#define high 480
#define pi 3.1415926//pi值越精确指针转得就越规范
int main(void) {
int center_x = width / 2, center_y = high / 2;//定义表盘中心的位置,作为秒针、分针和时针的起点位置
int secondlength = 100, secondend_x, secondend_y;//定义秒针的长度终点坐标 长度也可以定义成width的多少分之一
int minutelength = 80, minuteend_x, minuteend_y;//定义分针的长度和终点坐标
int hourlength = 60, hourend_x, hourend_y;//定义时针的长度和终点坐标
double secondangle, minuteangle, hourangle;//定义秒针、分针、时针转过的角度
int radius=secondlength+20;//定义表盘的半径,半径自然要比秒针要长一点
initgraph(width, high);
setcolor(WHITE);//将表盘设定为白色
circle(center_x, center_y, radius);
int i;
for (i = 0;i < 60;i++) {
int x = center_x + int((radius - 10) * sin(i * pi * 2 / 60));//计算出每个刻度的x坐标,一个刻度代表指针转过了2*π/60的角度
int y = center_y - int((radius - 10)