倒计时

    给在上学的弟弟推荐《小学生坐在马桶上都能读懂的C语言书》(啊哈著),自己也看一遍,权当复习,温故而知新嘛。内容讲的不深,但确实很比喻恰当,通俗易懂。没任何基础想入门的话,还是可以的。虽然简单,但觉得有必要动手的,还是会敲起来。

    里面有道习题:2分钟的倒计时。我改了下题目,把它改成了通用的时分秒计时。平常敲的不够多,熟练度不够,基本的算法,或称之为逻辑条件发射,都要想一会。也就导致调试了好几次才完成-_-!。学编程,千万别忘了敲,一定要狂敲,敲到基本算法都能条件发射,这样才算上一个等级。

    代码如下,欢迎各位提供更好的算法:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <windows.h>

char countDownCounter(UCHAR h, UCHAR m, UCHAR s)
{
	if(h == 0 && m == 0 && s == 0)
		return -1;
	if(h > 23 || m > 59 || s > 59)
		return -1;

	while(h || m || s){
		while(m || s){
			do{
				system("cls"); //clear the screen
				printf("%d:%d:%d",h,m,s);
				Sleep(1000);
			}while(s--);
			s = 0;
			if(m > 0){
				s = 59;
				m--;
			}
		}
		if(h > 0){
			m = s = 59;
			h--;
		}
	}
	return 0;
}

int main(int argc, char **argv) 
{
	system("color 2f"); //change the back color and the font color

	if(countDownCounter(0,0,5) == 0)
		printf("Finished!\n");
	else
		printf("Error!!!\n");

	Sleep(2000); //wait for 2 seconds
	system("pause");
	return 0;
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值