C语言学习———输入一个数进行倒计时的小程序

也是老规矩,在写代码之间,我们仍需要先捋清楚实现的原理和对应的功能

首先,它是一个倒计时,他的格式为11:00,1:58,0:00,也就是说,在写printf的时候,我们需要将%d改成%02d,这样当一个数不足两位他便可以为数字前面添加0来填充,然后考虑倒计时需要使用Sleep()来实现,需要引用<windows.h>,时间格式分为两部分,所以需要声明两个变量,在清楚原理和方法之后,便可以进行编写

一,主体部分

#include<stdio.h>
#include<windows.h>//引用Windows库
int main()
{
	int m, s;//声明两个变量,m为分,s为秒
	s = 0;//秒数基础值为0
	printf("请输入一个数\n");
	scanf("%d", &m);//输入一个数字并储存在m中
	if (m < 0)//如果不满足条件便返回提示
		printf("请输入一个正整数");
	else
	printf("%d : %02d", m, s);//满足则从起始分开始输出
    return 0;
}

主体部分只需要声明变量,完成输入||输出功能,值得注意的只有引入Windows.h,以便后续使用Sleep()和system("cls")

二,逻辑部分

while (m >= 0)//使用while循环,如果秒数大于或者等于0便进行循环
{
	if (s == 0)//当秒数为0时便返回以下结果
	{
		m = m - 1;//分数 - 1
		s = 59;//因为不存在1:60所以用59
	}
	else
		s = s - 1;//秒速不为0时便执行秒数减一
	Sleep(1000);//延迟一秒输出
	system("cls");//输出时清除上一条语句
	if (m < 0)//当分钟数小于0时
	{
		printf("时间到~");//输出到点提醒
		Beep(1000, 500);//蜂鸣提醒
		break;//停止循环
	}
	printf("%d : %02d", m, s);//输出倒计时
}

逻辑部分意思是,当秒数等于0时,分钟数-1,秒数变成59,当秒数不为0时,每秒钟秒数-1,当分钟数小于0时,便提示倒计时结束并发出蜂鸣提醒并停止循环,值得注意的是Sleep()的S一定要大写否则识别不了

三,完整代码

#include<stdio.h>
#include<windows.h>
int main()
{
	int m, s;
	s = 0;
	printf("请输入一个数\n");
	scanf("%d", &m);
	if (m < 0)
		printf("请输入一个正整数");
	else
	printf("%d : %02d", m, s);
	while (m >= 0)
	{
		if (s == 0)
		{
			m = m - 1;
			s = 59;
		}
		else
			s = s - 1;
		Sleep(1000);
		system("cls");
		if (m < 0)
		{
			printf("时间到~");
			Beep(1000, 500);
			break;
		}
		printf("%d : %02d", m, s);
	}

	return 0;
}

四,运行结果

——本篇结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值