国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 济源市| 长宁区| 临海市| 东平县| 新泰市| 抚宁县| 南投县| 方正县| 洞头县| 淮阳县| 常德市| 邹城市| 河池市| 康定县| 南平市| 文山县| 如皋市| 合山市| 巫溪县| 镇原县| 长宁区| 杭锦后旗| 五指山市| 台前县| 平顶山市| 岱山县| 屏边| 化州市| 潮州市| 宁海县| 忻城县| 乌鲁木齐县| 遂宁市| 榆中县| 芜湖市| 栖霞市| 皮山县| 扶绥县| 锦州市| 东方市| 阿拉善盟|