#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
int main()
{ int a,b,c
a=1
b=0
c=0
while(a>0)
{ system("cls")
printf("%d:%02d:%d%d\n",a,b,c,0)
a=a-1
b=59
c=59
while(a>=0 && b>=0)
{ Sleep(1000)
system("cls")
printf("%d:%02d:%02d",a,b,c)
while(a>=0 && b>=0)
{ system("cls")
printf("%d:%02d:%02d",a,b,c)
Sleep(1000)
c=c-1
if(c<0){c+=60b--}
if(b<0){b+=60a--}
}
}
}
printf("\n时间到!\n")
system("pause")
return 0
}
================================
简化后的程序:
#include<stdio.h>
#include<windows.h>
int main()
{ int a=1,b=0,c=0
while(a>=0 && b>=0 && c>=0)
{ system("cls")
printf("%d:%02d:%02d",a,b,c--)
Sleep(1000)
if(c<0){ c+=60 b--}
if(b<0){ b+=60 a--}
}
printf("\n时间到!\n")
system("pause")
return 0
}
#include <stdio.h>#include <stdlib.h>
#include <time.h>
#include <windows.h>
int
main(int argc, char **argv)
{
char buf[128]
time_t t
while (1)
{
time(&t) //得到系统时间数
_strtime(buf)//将时间数转换成字符串
printf("%s\n", buf)
Sleep(500)//休息0.5秒,不然运行过快,刚显示出来,就被清除了
system("cls")//如果想在同一位置显示,就必须把当前的显示信息清除掉
}
return 0
}
#include<reg51.h>#define uchar unsigned char
#define uint unsigned int
uchar hour,min,sec
uint count
uchar code tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}
uchar code add[6]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb}
/*************************延时一毫秒*********************/
void delay1ms(void)
{
unsigned char a,b,c
for(c=1c>0c--)
for(b=142b>0b--)
for(a=2a>0a--)
}
/***************定时器0中断函数,用于计时****************/
void timer0(void)interrupt 1
{
TH0=0x00
TL0=0x38
counter--
if(counter==0)
{
sec--
if(sec==-1)
{
sec=59
min--
if(min==-1)
{
min=59
hour--
if(hour==-1)
{
hour=23
}
}
}
}
}
/*****************************主函数***********************/
void main()
{
uchar i
uchar display[6]
counter=5000
sec=min=59hour=23
TMOD=0x02
TH0=0x00TL0=0x38
ET0=1TR0=1
EA=1
while(1)
{
display[0]=hour/10
display[1]=hour%10
display[2]=min/10
display[3]=min%10
display[4]=sec/10
display[5]=sec%10
for(i=0i<8i++)
{
P0=tab[display[i]]
P2=add[i]
delay1ms()
P2=0xff
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)