蓝桥杯2021年第十二届省赛真题-时间显示(C and C++)

这一篇是个小记,真无语了,看见这个题感觉哇塞好简单的感觉,谁知道栽了,烦死了

 话不多说,记录一下

C语言

#include<stdio.h>
int main()
{
	int a,b,c;
	long long time;//题上说了10的18次方的正整数,所以咋能用int型啊,喂!
	scanf("%lld",&time);//long long是"%lld",啊!交了四次,还理直气壮?
	time=time/1000%(3600*24);
    //这个地方可以说说,常识都不知道,毫秒到秒是1000,咋会是60呢?
    //而且题要读请人家的时间给的可不是一天的,是累计的,所以你要把时间取一天的余啊!
    //除非你后面计算小时的时候 %24喽
	c=time%60;
	b=time%3600/60;
	a=time/3600;
	printf("%02d:%02d:%02d",a,b,c);	
    //笑死了,大二了还不知道"%02d"啥意思,一个入门题硬生生变成难++题
	return 0;
} 

基础没打好哭死 (大一的宝子们一定要好好学习!呜呜呜)

知识点

int     2^31 < 10^9   2^32 <10^9

long long   2^63 < 10^18   2^64 <10^19

时间输出如何表示

1->  %d就是普通的输出

2->  %2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格

3->  %02d,和%2d差不多,只不过左边补0

4->  %.2d没见过,但从执行效果来看,和%02d一样

C++

除了是刚开始起步,其余的还挺顺利

#include<bits/stdc++.h>
using namespace std;
int main()
{
	long long time;
	cin>>time;
	time=time/1000;
	int a=time%60;
	int b=time/60%60;
	int c=time/3600%24;
	printf("%02d:%02d:%02d",c,b,a);
	return 0;
}

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值