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

如题所述

//大致如下,具体显示位置可以根据需要修改

#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();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-12
#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不是一个数。不能用来左移的。

Warning: Invalid argument supplied for foreach() in /www/wwwroot/www.t2y.org3v3b34/skin/templets/default/contents.html on line 47
相似回答