帮忙改正下
#include <stdio.h>#include <graphics.h>
#include <conio.h>
#include <string.h>
#define time_EW 15 //东西方向通行时间
#define time_SN 18 //南北方向通行时间
#define Total 20 //程序运行周期
void main()
{
initgraph(600, 400); //界面大小 (横向X轴,纵向Y轴)
int i,j;
for(i=50;i<=550;i=i+100) //第一行画竖线
line(i, 50,i,150); //(起始点横坐标,起始点纵坐标,终止点横坐标,终止点纵坐标)
for(i=50;i<=550;i=i+100) //第二行画竖线
line(i,250,i,350);
for(j=50;j<=400;j=j+100) //画横线
line(50,j,550,j);
for(i=100;i<=300;i+=100) //使用循环画圆,精简程序
{
circle(i,100,40);
circle(i,300,40);
}
settextstyle(45, 0, _T("宋体"));
outtextxy(460,75,("东西"));
outtextxy(460,275,("南北"));
int m;
for(m=0;m<Total;m++){
char s[5]={0},s_1[5]={0}; //字符数组初始化,防止越界
int Q,T; //Q控制前半个周期。T控制后半个周期
for(Q=time_SN;Q>=0;Q--)
{
if(Q<10) //覆盖思想
{
char s1[1];
char s2[1];
_stprintf(s1, _T("%d"),0);
strcpy(s,s1);
_stprintf(s2, _T("%d"),Q);
strcat(s,s2);
}
if(Q>=3)
{
setfillcolor(RED); //颜色填充(覆盖)
fillcircle(100,100,40);
setfillcolor(GREEN);
fillcircle(200,300,40);
Sleep(1000);
}
if(Q<3)
{
setfillcolor(YELLOW);
fillcircle(300,300,40);
setfillcolor(BLACK);
fillcircle(200,300,40);
Sleep(500);
fillcircle(300,300,40);
Sleep(500);
fillcircle(300,300,40);
}
if(Q>=10)
{
sprintf(s, "%d", Q);
}
if((Q-3)<10&&(Q-3)>0)
{
char s1[1];
char s2[1];
_stprintf(s1, _T("%d"),0);
strcpy(s_1,s1);
_stprintf(s2, _T("%d"),Q-3);
strcat(s_1,s2);
}
if(Q-3<=0)
{
char s1[1];
char s2[1];
_stprintf(s1, _T("%d"),0);
strcpy(s_1,s1);
_stprintf(s2, _T("%d"),Q);
strcat(s_1,s2);
}
if(Q-3>=10)
{
sprintf(s_1, "%d", Q-3);
}
outtextxy(380, 75,s);
outtextxy(380,275,s_1);
}
for(T=time_EW;T>=0;T--) //与前半个周期类似
{
if(T<10)
{
char s1[1];
char s2[1];
_stprintf(s1, _T("%d"),0);
strcpy(s,s1);
_stprintf(s2, _T("%d"),T);
strcat(s,s2);
}
if(T>=3)
{
setfillcolor(GREEN);
fillcircle(200,100,40);
setfillcolor(BLACK);
fillcircle(100,100,40);
setfillcolor(RED);
fillcircle(100,300,40);
setfillcolor(BLACK);
fillcircle(300,300,40);
Sleep(1000);
}
if(T<3)
{
setfillcolor(YELLOW);
fillcircle(300,100,40);
setfillcolor(BLACK);
fillcircle(200,100,40);
Sleep(500);
fillcircle(300,100,40);
Sleep(500);
fillcircle(300,100,40);
}
if(T>=10)
{
sprintf(s, "%d", T);
}
if((T-3)<10&&(T-3)>0)
{
char s1[1];
char s2[1];
_stprintf(s1, _T("%d"),0);
strcpy(s_1,s1);
_stprintf(s2, _T("%d"),T-3);
strcat(s_1,s2);
}
if(T-3<=0)
{
char s1[1];
char s2[1];
_stprintf(s1, _T("%d"),0);
strcpy(s_1,s1);
_stprintf(s2, _T("%d"),T);
strcat(s_1,s2);
}
if(T-3>=10)
{
sprintf(s_1, "%d", T-3);
}
outtextxy(380, 75,s_1);
outtextxy(380,275,s);
}
setfillcolor(BLACK);
fillcircle(300,100,40);
fillcircle(100,300,40);
}
getch(); // 按任意键继续
closegraph(); // 关闭图形界面
}