为了能到远方,脚下的每一步都不能少.|
2024-05-17 23:02阅读: 38评论: 0推荐: 0

[题解] P10409 「QFOI R2」水落溪流浅浅

一道简单字符串。

这道题最简单的方法是使用字符串,但是由于本人不太喜欢使用字符串,所以使用了模拟的方法。

首先,你可以根据题意写出如下的代码:

// 「QFOI R2」水落溪流浅浅
// code by:cq_irritater
// time:2024/05/04
#include <bits/stdc++.h>
using namespace std;
int hh, mm;
int main()
{
// freopen("code.in", "r", stdin);
scanf("%d:%d", &hh, &mm);
if (hh <= 6)
{
printf("%d:%d", hh + 24, mm);
}
else
{
printf("%d:0%d", hh, mm);
}
return 0;
}

经过提交后你会得到 40 分。然后你会发现,此程序不会输出前导零,于是你就可以得到如下的代码。

// 「QFOI R2」水落溪流浅浅
// code by:cq_irritater
// time:2024/05/04
#include <bits/stdc++.h>
using namespace std;
int hh, mm;
int main()
{
// freopen("code.in", "r", stdin);
scanf("%d:%d", &hh, &mm);
if (hh <= 6)
{
if (mm < 10)
{
printf("%d:0%d", hh + 24, mm);
}
else
{
printf("%d:%d", hh + 24, mm);
}
}
else
{
if (mm < 10)
{
printf("%d:0%d", hh, mm);
}
else
{
printf("%d:%d", hh, mm);
}
}
return 0;
}

但是,依旧只有 80 分。这又是为什么呢?因为在 hh:mm 中的 hh 也需要考虑前导零的问题,得到下面的程序。

于是你就 AC 啦!

// 「QFOI R2」水落溪流浅浅
// code by:cq_irritater
// time:2024/05/04
#include <bits/stdc++.h>
using namespace std;
int hh, mm;
int main()
{
// freopen("code.in", "r", stdin);
scanf("%d:%d", &hh, &mm);
if (hh <= 6)
{
if (mm < 10)
{
printf("%d:0%d", hh + 24, mm);
}
else
{
printf("%d:%d", hh + 24, mm);
}
}
else if (hh < 10)
{
if (mm < 10)
{
printf("0%d:0%d", hh, mm);
}
else
{
printf("0%d:%d", hh, mm);
}
}
else
{
if (mm < 10)
{
printf("%d:0%d", hh, mm);
}
else
{
printf("%d:%d", hh, mm);
}
}
return 0;
}

本文作者:cq_irritater

本文链接:https://www.cnblogs.com/cq-irritater/p/18198861/solution-luogu-p10409

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   cq_irritater  阅读(38)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起