C语言编程:流水灯 要求:画三个圆,颜色自选,每隔一段时间变换一次

 我来答
匿名用户
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();
}
手机用户90526
2011-05-12 · TA获得超过237个赞
知道答主
回答量:391
采纳率:0%
帮助的人:279万
展开全部
#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不是一个数。不能用来左移的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式