牛客网 KY258 日期累加 | KY250 日期类 | KY111 日期差值
发布日期:2021-07-22 07:28:55 浏览次数:2 分类:技术文章

本文共 3076 字,大约阅读时间需要 10 分钟。

KY258 日期累加

依次根据月份判断天数,再根据天数修改月份,最后根据月份修改年份,下面两题思路类似

#include 
#include
#include
using namespace std;bool isLeapYear(int year) {
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) return true; else return false;}int main(){
int m; cin >> m; set
bigMonth = {
1,3,5,7,8,10,12 }; while (m > 0) {
int year, month, day; int num; cin >> year >> month >> day >> num; while (num > 0) {
day++; num--; if (bigMonth.find(month) != bigMonth.end()) {
if (day > 31) {
month++; day = 1; } } else if (month==2) {
if (isLeapYear(year)) {
if (day > 29) {
month++; day = 1; } } else {
if (day > 28) {
month++; day = 1; } } } else {
if (day > 30) {
month++; day = 1; } } if (month > 12) {
year++; month = 1; } } cout << year << "-" << right << setw(2) << setfill('0') << month << "-" << right << setw(2) << setfill('0') << day << endl; m--; }}

KY250 日期类

#include 
#include
#include
using namespace std;bool isLeapYear(int year) {
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) return true; else return false;}int main(){
int m; cin >> m; set
bigMonth = {
1,3,5,7,8,10,12 }; while (m > 0) {
int year, month, day; int num; cin >> year >> month >> day; day++; if (bigMonth.find(month) != bigMonth.end()) {
if (day > 31) {
month++; day = 1; } } else if (month==2) {
if (isLeapYear(year)) {
if (day > 29) {
month++; day = 1; } } else {
if (day > 28) {
month++; day = 1; } } } else {
if (day > 30) {
month++; day = 1; } } if (month > 12) {
year++; month = 1; } cout << year << "-" << right << setw(2) << setfill('0') << month << "-" << right << setw(2) << setfill('0') << day << endl; m--; }}

KY111 日期差值

#include 
#include
#include
using namespace std;bool isLeapYear(int year) {
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) return true; else return false;}int main(){
set
bigMonth = {
1,3,5,7,8,10,12 }; int s1, s2; int year, month, day; int year2, month2, day2; int num = 1; cin >> s1; cin >> s2; year = s1 / 10000; year2 = s2 / 10000; month = s1 / 100 % 100; month2 = s2 / 100 % 100; day = s1 % 100; day2 = s2 % 100; while (!(year == year2 && month == month2 && day == day2)) {
day++; num++; if (bigMonth.find(month) != bigMonth.end()) {
if (day > 31) {
month++; day = 1; } } else if (month == 2) {
if (isLeapYear(year)) {
if (day > 29) {
month++; day = 1; } } else {
if (day > 28) {
month++; day = 1; } } } else {
if (day > 30) {
month++; day = 1; } } if (month > 12) {
year++; month = 1; } } cout << num;}

转载地址:https://blog.csdn.net/m0_45689014/article/details/113730966 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:牛客网 KY108 Day of Week
下一篇:牛客网 KY222 打印日期

发表评论

最新留言

不错!
[***.144.177.141]2024年04月02日 16时26分59秒