求C语言高手: 1小时倒计时程序怎么写 以下是我写的,但是不符合常规,总之不对,求帮忙

求C语言高手: 1小时倒计时程序怎么写 以下是我写的,但是不符合常规,总之不对,求帮忙,第1张

修改后的代码:

#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

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12149682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存