這題我採用的方法是:
如果是一年的最後一天,則直接year++ month=1 day=1
其他情況則:
根據月份和天數計算出這是本年的第幾天,然後加一
然後根據天數計算日期。算是之前兩種方法的合併。但是比較好理解。
#include using namespace std;
#define n 100
class date
;date::date(int a, int b, int c)
date::date()
void date::adddate()
else
;int sum=0; //月中的日期累計
for(int i=1;i<=month-1;i++)
sum = sum+day+1;//實現加一
// 根據天數反向求日期
int sum_monthday = 0; //累計天數
int month_real = 0;//對應的月份
for(int i=1;i<=12;i++)
}month = month_real;
//用sum減去當月之前的所有月份天數==當月的天數
//當月之前的所有天數=累計天數-本月天數
day = sum-(sum_monthday-dayarr[month]);
}printf("%d-%02d-%02d\n", year, month, day);
}int main()
for(int i=0; i
return 0;
}
北京理工大學機試題 日期累加 C
題目描述 time limit 1000 ms memory limit 256 mb 設計乙個程式能計算乙個日期加上若干天後是什麼日期。輸入輸出格式 輸入描述 輸入第一行表示樣例個數m,接下來m行每行四個整數分別表示年月日和累加的天數。輸出描述 輸出m行,每行按yyyy mm dd的個數輸出。輸入...
北京理工大學複試上機 2020
ps 2020的是夏令營試題 1 題目 給你乙個 m n 大小的矩陣,每個點有 0,1,2 三種取值 0 代表障礙物,1代表白紙,2 代表墨滴。每一秒墨滴可以向其上下左右擴散,將四周的白紙染色,被染色之後的白紙可以繼續向四周擴散,以此類推。問經過幾秒,矩陣中所有的白紙都被染色。如果可以,則輸出擴散時...
北京理工大學複試上機 2015
1 圖形輸出 輸入 0 9 內的奇數,輸出用 組成的正方形中間掏出來乙個空的菱形。我是按照這種輸出的 9 8 include using namespace std intmain cout for int i n 2 i n i cout return0 2 有3個字母a,b,c 你輸入乙個數字,...