C语言编程:流水灯 要求:画三个圆,颜色自选,每隔一段时间变换一次
2个回答
2011-05-11
展开全部
//大致如下,具体显示位置可以根据需要修改
#include "graphics.h"
#include <stdio.h>
#include <conio.h>
#include <time.h>
//颜色定义 0:黑色,1:兰色,2: 绿色,3 :青色,4:红色,5: 洋红,6:棕色,7:淡灰,
// 8: 深灰,9:深兰,10:淡绿,11:淡青,12:淡红,13:淡洋红,14:黄色
//白色背景,不能再选,可以根据需要自己修改
void main()
{
int GD,GM;
int r,c1,c2,c3,t,key=0,num=10;
int i,k,c[3];
time_t t1,t2;
GD=DETECT;
initgraph(&GD,&GM,"");
setfillstyle(SOLID_FILL,WHITE);
bar(0,0,639,479);
printf("请输入圆的半径:");
scanf("%d",&r);
printf("请输入圆1的颜色:");
scanf("%d",&c1);
printf("请输入圆2的颜色:");
scanf("%d",&c2);
printf("请输入圆3的颜色:");
scanf("%d",&c3);
printf("请输入变化间隔时间(秒):");
scanf("%d",&t);
printf("请输入变化次数:");
scanf("%d",&num);
bar(0,0,639,479);
c[0]=c1;
c[1]=c2;
c[2]=c3;
k=0;
t1=0;
while(1)
{
t2=time(NULL);
if(t2-t1>t)
{
for (i=0;i<3;i++)
{
setcolor(c[(i+k)%3]);
circle(30+r+(2*r+10)*i,10+r,r);
}
t1=t2;
k++;
if(k>2)k=0;
key++;
if(key>num)
break;
}
}
closegraph();
}
#include "graphics.h"
#include <stdio.h>
#include <conio.h>
#include <time.h>
//颜色定义 0:黑色,1:兰色,2: 绿色,3 :青色,4:红色,5: 洋红,6:棕色,7:淡灰,
// 8: 深灰,9:深兰,10:淡绿,11:淡青,12:淡红,13:淡洋红,14:黄色
//白色背景,不能再选,可以根据需要自己修改
void main()
{
int GD,GM;
int r,c1,c2,c3,t,key=0,num=10;
int i,k,c[3];
time_t t1,t2;
GD=DETECT;
initgraph(&GD,&GM,"");
setfillstyle(SOLID_FILL,WHITE);
bar(0,0,639,479);
printf("请输入圆的半径:");
scanf("%d",&r);
printf("请输入圆1的颜色:");
scanf("%d",&c1);
printf("请输入圆2的颜色:");
scanf("%d",&c2);
printf("请输入圆3的颜色:");
scanf("%d",&c3);
printf("请输入变化间隔时间(秒):");
scanf("%d",&t);
printf("请输入变化次数:");
scanf("%d",&num);
bar(0,0,639,479);
c[0]=c1;
c[1]=c2;
c[2]=c3;
k=0;
t1=0;
while(1)
{
t2=time(NULL);
if(t2-t1>t)
{
for (i=0;i<3;i++)
{
setcolor(c[(i+k)%3]);
circle(30+r+(2*r+10)*i,10+r,r);
}
t1=t2;
k++;
if(k>2)k=0;
key++;
if(key>num)
break;
}
}
closegraph();
}
展开全部
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void main()
{
uint i;
uchar temp;
temp=0xFE;
P0=temp;
while(1)
{
temp=_crol_(temp,1);
P0=temp;
for(i=0;i<5000;i++);
}
}
这样试试。P0不是一个数。不能用来左移的。
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void main()
{
uint i;
uchar temp;
temp=0xFE;
P0=temp;
while(1)
{
temp=_crol_(temp,1);
P0=temp;
for(i=0;i<5000;i++);
}
}
这样试试。P0不是一个数。不能用来左移的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询