国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

北理復試上機之日期計算問題

2019-11-08 02:42:01
字體:
來源:轉載
供稿:網友

題目

設計一個程序能計算一個日期加上若干天后是什么日期。

輸入

輸入第一行表示樣例個數(shù)m,接下來m行每行四個整數(shù)分別表示年月日和累加的天數(shù)。

52008 2 29 10002008 2 29 312008 2 29 322007 2 28 312017 2 17 1

輸出

2010-11-252008-03-312008-04-012007-03-312017-02-18

代碼

主要難點在于對于閏年判斷后如何對增加日期的處理問題

#include<stdio.h>#include<math.h>#include<iostream>using namespace std;bool judge(int year){ if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return true; } return false;}int main(){// freopen("E:/input.txt", "r", stdin); int m; cin >> m; int a[][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}}; while (m--) { int year, month, day, num; cin >> year >> month >> day >> num; int b = 0, i = 0; if (judge(year)) { b = 1; } if (num <= a[b][month - 1] - day) { day += num; } else { num -= (a[b][month - 1] - day); if (month == 12) { month = 0; i = 0; year++; if(judge(year)) { b = 1; } else { b = 0; } } month++; day = 0; for (i = month - 1; ; i++) { if (num > a[b][i]) { num -= a[b][i]; if (month == 12) { month = 0; i = -1; //因為for循環(huán)會增1 year++; if(judge(year)) { b = 1; } else { b = 0; } } month++; } else { day += num; break; } } } cout << year << "-"; if (month < 10) { cout <<"0"; } cout << month << "-"; if (day < 10) { cout << "0"; } cout << day << endl;; } return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 即墨市| 集安市| 察隅县| 满城县| 南陵县| 晋江市| 曲阜市| 辽宁省| 沙雅县| 肇源县| 昆明市| 广平县| 宁国市| 南京市| 独山县| 洛宁县| 含山县| 土默特左旗| 公主岭市| 永嘉县| 天等县| 濉溪县| 稷山县| 洪江市| 广德县| 钟祥市| 河西区| 霍山县| 兰考县| 蒙山县| 广平县| 宽城| 沈阳市| 丹寨县| 莱西市| 开阳县| 万全县| 林西县| 库伦旗| 玉龙| 密云县|