判断年月日
程序员文章站
2022-05-27 16:32:14
...
- 给定从2000年1月1日开始逝去的天数,输出这一天对应的日期和星期几
注意:2000年1月1日是星期六
#include<iostream>
using namespace std;
//给定从2000年1月1日开始逝去的天数,输出这一天对应的日期和星期几
//2000年1月1日是星期六
//判断年份是闰年还是平年
int yearType(int n) {
//平年的判断条件
if (n % 4 != 0 || n % 4 == 0 && n % 100!= 0) {
return 365;
}
else {
return 366;
}
}
int main() {
int n;
cin >> n;
for (int r = 0; r < n; r++) {
//判断星期几
int days;
string daysofweek;
cin >> days;
string week[7] = { "Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday" };
daysofweek = week[days % 7];
cout << daysofweek << " ";
//判断年份
int i;
for (i = 2000; days > yearType(i); i++) {
days = days - yearType(i);
}
cout << i << "--";
//判断日期
int month[2][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 };
int k = yearType(i) - 365, j;
for (j = 0; days > month[k][j]; j++) {
days = days - month[k][j];
}
cout << j + 1 << "--" << days << endl;
}
return 0;
}
上一篇: Opencv基础入门笔记07